Я хотел бы выполнять команды в 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.
Вы можете поместить переменные окружения в команду, как в 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 для apache2 на Mac)
Другие платформы: (для ваших ссылок)
https://serverfault.com/questions/151328/setting-apache2-path-environment-variable
добавлять FFmpeg на ваш ДОРОЖКА переменная окружения, перезапуск апаш сервер и повторите