我有一个PHP脚本,需要在shell中调用program
并获取其输出。
program
使用共享库,因此我需要设置$LD_LIBRARY_PATH
环境变量。由于该程序在系统范围内使用,因此该设置在/etc/environment
上完成,如下所示:
/etc/environment file:
LD_LIBRARY_PATH=/path/to/my/shared/library/libmyshared.so
如果我打开终端并查找代码,它就在那里:
$ env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=/path/to/my/shared/library/libmyshared.so
以下是需要调用程序的PHP脚本:
$cmd = "program";
exec ($cmd, $out);
var_dump($out);
我得到一个空的转储和PHP上的错误,说没有找到共享库...
error while loading shared libraries: libmyshared.so: cannot open shared object file: No such file or directory
好吧,如果我用PHP发布:
$cmd = "env;";
exec ($cmd, $out);
var_dump($out);
输出只显示少量的apache变量,没有在正常的终端窗口中使用。
这里可能缺少什么,以便我的exec
命令有效?
帮助表示赞赏......