2015-10-06 63 views
1

我用boost框架創建了一個簡單的C++應用程序。 應用程序從命令行運行正確。PHP popen應用程序無法打開共享對象

在此之後,我創建了一個popen到這個二進制文件的PHP文件。

<?php 
    $handle = popen("./webParser", "r"); 
    //echo $handle . ":: " . gettype($handle); 
    $read = fread($handle, 2096); 
    echo $read; 
    pclose($handle); 
    //echo "done"; 
?> 

apache2/error_log

./webParser: error while loading shared libraries: libboost_log.so.1.59.0: cannot open shared object file: No such file or directory 

系統訪問的網站,我已經得到了以下錯誤消息後是openSUSE的Linux操作系統。

步驟來完成:

  • 插入加入/etc/ld.so.conf庫路徑和運行ldconfig命令
+0

是否有沒有靜態鏈接應用程序的原因? – syck

+0

我需要傳遞-DBOOST_LOG_DYN_LINK才能編譯 – Roby

回答

1

你需要確保你有用戶LD_LIBRARY_PATH集運行Web服務器包含您已建立的共享庫的位置。

相關問題