PHP popen 应用程序无法打开共享对象
PHP popen Application cannot open shared object
我使用 boost 框架创建了一个简单的 C++ 应用程序。
该应用程序在命令行中 运行 是正确的。
在此之后,我创建了一个 PHP 文件,其中包含此二进制文件的 popen
。
<?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
您需要确保为用户 运行 设置了 LD_LIBRARY_PATH 您的 Web 服务器包括您构建的共享库的位置。
我使用 boost 框架创建了一个简单的 C++ 应用程序。 该应用程序在命令行中 运行 是正确的。
在此之后,我创建了一个 PHP 文件,其中包含此二进制文件的 popen
。
<?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
您需要确保为用户 运行 设置了 LD_LIBRARY_PATH 您的 Web 服务器包括您构建的共享库的位置。