设置 php 和 ffmpeg 的 ENV PATH,以便在 PHP 脚本中使用 CLI,例如 shell_exec()
Set ENV PATH of php and ffmpeg to use it inside PHP scripts with CLI like shell_exec()
我想在 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 whith brew。
将 ffmpeg 添加到您的 PATH 环境变量,重新启动 Apache 服务器并重试
您可以像 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>
(从 $PATH environment variable for apache2 on mac 复制的答案)
其他平台:(供大家参考)
https://serverfault.com/questions/151328/setting-apache2-path-environment-variable
我想在 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 whith brew。
将 ffmpeg 添加到您的 PATH 环境变量,重新启动 Apache 服务器并重试
您可以像 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>
(从 $PATH environment variable for apache2 on mac 复制的答案)
其他平台:(供大家参考)
https://serverfault.com/questions/151328/setting-apache2-path-environment-variable