我想在php脚本中执行命令,如下所示:
<?php
shell_exec(php myfile.php)
或
<?php
shell_exec(ffmpeg -i ...)
我的问题是,我认为php和ffmpeg路径在我的apache环境中没有正确配置,因为当我执行以下操作时:
<?php
var_dump(shell_exec("which php"));
var_dump(shell_exec("which ffmpeg"));
我得到的答案是:
string '/usr/bin/php' (length=13)
null
但在终点站当我输入:
which php
which ffmpeg
我得到的答案是:
/usr/local/opt/php55/bin/php
/usr/local/bin/ffmpeg
那么,如何在不总是重新键入完整路径的情况下正确设置php和ffmpeg环境路径呢?
我在Mac OsX 10.10下,我安装了php和ffmpeg与brew。
发布于 2015-02-24 10:42:27
您可以将环境变量放入命令中,就像在shell中一样。
示例:
shell_exec('PATH=/usr/local/bin:/usr/local/opt/php55/bin:$PATH which ffmpeg');
备选解决办法:
如果您不想使代码变得脏,您可以配置Apache环境变量,如下所示。
Mac:
编辑
/System/Library/LaunchDaemons/org.apache.httpd.plist
再加上
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/local/opt/php55/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
(答案抄录自https://stackoverflow.com/questions/6833939/path-environment-variable-for-apache2-on-mac)
其他平台:(供您参考)
https://serverfault.com/questions/151328/setting-apache2-path-environment-variable
发布于 2015-02-24 10:35:39
将ffmpeg添加到路径环境变量中,重新启动Apache服务器并重试。
https://stackoverflow.com/questions/28693366
复制相似问题