AleksandrB
@AleksandrB

Как выполнить команду в терминале php на FreeBSD?

Нужно выполнить команду
sox media/60847/intro.wav -r 8000 -c 1 media/60847/intro.gsm

Пробовал через exec, ничего не происходит, я так понимаю из-за прав (whoami выдает юзера www). Как выполнить команду под другим юзером?
Нагуглил через sudo, можно ли без его установки обойтись?
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 2
@FanatPHP
я так понимаю из-за прав

Самое главное, что надо понимать о программировании, это что никогда не надо понимать.
А всегда надо знать точно.
И уж тем более не надо начинать метаться и совершать хаотичные телодвижения, типа установки sudo, прописывания путей и прочего, исходя только из понимания.

Если что-то идёт не так, то система всегда сообщает тебе об этом. И надо всего лишь взять это сообщение и прочитать. И потом исправить конкретную ошибку.

Вместо неудобной exec используем нормальную shell_exec().
чтобы видеть ошибки, добавляем в конце команды 2>&1

$out = shell_exec("sox media/60847/intro.wav -r 8000 -c 1 media/60847/intro.gsm 2>&1");


в out будет консольный вывод, в том числе ошибки.
Читаешь ошибку и исправляешь
Ответ написан
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
причем тут юзер?
попробуйте полные пути до файлов, до команды...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы