2016-08-01 6 views
-1

я хочу сделать резервную копию базы данных, так что я буду использовать туздЫшпр через PHP для достижения этой цели, следующим образом:Exec возвращает ложь, даже если она работает

exec("mysqldump -h $dbhost -u $dbuser -p'$dbpass' $d > $bkp_file", $output, $return); 

я указал выход и возвращать параметры, чтобы получить статус команды для дальнейшей проверки. Команда работает, я получаю файл sql, заполненный, но возвращаемая переменная имеет значение 0.

У меня что-то отсутствует?

ответ

0

Состояние выхода из нулевой точки означает успех.

Любое другое значение используется для указания какой-либо ошибки. Подробнее см. Документацию о запущенном приложении.

+0

но почему $ output пуст? не должен ли он возвращать линию cmd, если она преуспеет? –

+0

Вы перенаправили вывод. –

+0

Я не понимаю, вы можете объяснить это, пожалуйста? –

Смежные вопросы