Команда PHP exec не имеет никакого эффекта, несмотря на отсутствие кода ошибки - PullRequest
1 голос
/ 13 марта 2012

Я запускаю команду для добавления метаданных id3 в mp3-файлы с помощью функции PHP exec , например:

exec('id3v2 [options, filename etc go here] 2>&1', $output, $result);

Команда в настоящее время не влияет на целевые файлы (т.е. их теги id3 не обновляются). Тем не менее, он возвращает 0 как результат $, не выводит ошибок, и если я запускаю точно такую ​​же команду из командной строки, она работает, как и ожидалось.

Если бы кто-нибудь мог подсказать, что я делаю неправильно, я был бы очень благодарен!

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Отметьте $output.

Вероятно, это проблема пути или права доступа.Например, если вы запускаете этот сценарий с привилегиями веб-сервера, он, вероятно, не имеет права изменять файлы.

1 голос
/ 13 марта 2012

Имеет ли пользовательский PHP, на котором запущен, права на запись в эти файлы и выполнение "id3v2"?

0 голосов
/ 13 марта 2012

Попробуйте http://www.php.net/manual/en/language.operators.execution.php

Или, если id3v2 возвращает что-то, что вы можете сделать http://php.net/manual/en/function.shell-exec.php

...