Вот описание exec().
string exec ( string $command [, array &$output [, int &$return_var ]] )
output - тут сохраняется вывод команды
return_var - статус выполненной команды
При successful выполнении в output находится вывод команды и все Ок. Если же происходит ошибка при выполнении команды (return_var === 1), то output не содержит ничего.
Вопрос: где в таком случае взять текст ошибки?
Спустя 3 часа, 36 минут, 38 секунд (19.05.2010 - 12:15) Kuzya написал(а):
Если речь идёт о nix-системах то нужно перенаправить поток вывода ошибок в основной stdout. Это делается добавлением в конце команды конструкции типа "2>&1" Сейчас точно уже не помню. Вот тут можно почитать:
http://white-knight-is-alive.blogspot.com/2006/05/2.html
Ну и в гугле поискать фразу "2>&1"
http://white-knight-is-alive.blogspot.com/2006/05/2.html
Ну и в гугле поискать фразу "2>&1"
Спустя 4 часа, 19 минут, 4 секунды (19.05.2010 - 16:34) multik написал(а):
Так, уже что-то. Значит ошибки выводятся в другой поток. Буду смотреть, спасибо.
Спустя 7 дней, 20 часов, 35 минут, 37 секунд (27.05.2010 - 13:10) multik написал(а):
Добавление 2>&1 в конец команды действительно дает нужные результат - в переменной output записывается текст ошибки.