PHP exec不会在/ etc / environment中加载变量

时间:2015-08-04 19:31:55

标签: php ubuntu exec

我正在使用Ubuntu。

我有一个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命令有效?

帮助表示赞赏......

0 个答案:

没有答案