Я хочу сделать резервную копию всей базы данных, прежде чем php-скрипт будет играть с ее таблицами, поэтому я подумал об использовании mysqldump.
Я попытался запустить команду mysqldump с помощью shell_exec() и проверить, удалось ли это сделать следующим образом:
$command = 'mysqldump -u username -ppassword database > /path/database.sql';
$result = shell_exec($command);
if(!is_null($result)) {
echo 'Error during backup';
else {
echo 'Database saved';
// rest of the php script to modify the database (create/drop tables etc)
}
Но я заметил, что $result всегда равен нулю, даже когда я указываю путь, по которому файл не может быть записан (нет существующего каталога или что-то, что должно возвращать разрешение, отклоненное в приглашении оболочки).
Что мне не хватает?