PHP shell_exec找不到环境变量

时间:2014-02-13 11:53:40

标签: php apache ubuntu

我已将此行PATH DEFAULT=${PATH}:~/bin/添加到~/.pam_environment 这允许我从没有路径的命令行调用ffmpeg,这显然在~/bin/ dir中,所以只要使用命令行,一切正常。

但是如果尝试从php运行完全相同的命令,我得到的是sh: ffmpeg: not found 代码是

shell_exec("ffmpeg 2>&1");

所以从我对linux的一点点经验(在这种情况下Ubuntu是具体的)我猜apache无法访问pam_environment~/bin

我能做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:1)

查看phpinfo()的输出,它有一个包含它看到的所有环境变量的部分。然后看看你的网络服务器配置,也许它正在消毒环境,或者启动你的网络服务器的init脚本可能会这样做。

是网络服务器在使用PAM时运行的帐户吗?