ОК,
Я провел несколько творческих поисков и вроде как проехал блокпост.
Я пытаюсь использовать программу linux "sox". Я пытаюсь вызвать его из моего сценария PHP. Скрипт работает, если я использую командную строку. Однако, когда я использую PHP exec, он не работает.
Пример:
sox file1.mp3 file2.mp3 tempfile.mp3 -V3
(«V3» указывает на подробный вывод)
При выполнении в командной строке как «Пользователь X» или как пользователь root, я могу создать новый файл. Однако, когда я выполняю команду как:
<?php
exec('sox file1.mp3 file2.mp3 tempfile.mp3 -V3', $output);
foreach($output as $line){
print $line;
}
Новый файл не генерируется. Кроме того, массив, который должен возвращать результаты команды, пуст.
Я сделал простой текст с
exec(ls,$output);
и я получаю содержимое корневого каталога.
Я использовал команду PHP get_current_user()
, и она вернула владельца каталога, являющегося корнем веб-сайта.
Однако, когда я использую команду linux whoami
, я обнаружил, что она рассматривает текущего человека как «apache». Нужно ли дать Apache права на использование программы?
Я буду продолжать искать в Интернете и делать проб и ошибок, чтобы выяснить, что я делаю неправильно. Любая помощь приветствуется.
Разъяснения
- Я не в безопасном режиме (я проверил
phpinfo () page ")