我已将此行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
我能做些什么来完成这项工作?
答案 0 :(得分:1)
查看phpinfo()
的输出,它有一个包含它看到的所有环境变量的部分。然后看看你的网络服务器配置,也许它正在消毒环境,或者启动你的网络服务器的init脚本可能会这样做。
是网络服务器在使用PAM时运行的帐户吗?