PHP popen应用程序无法打开共享对象

问题描述:

我用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

你需要确保你有用户LD_LIBRARY_PATH集运行Web服务器包含您已建立的共享库的位置。