我想在使用 php 脚本处理其表之前备份完整的数据库,所以我考虑使用 mysqldump。
我尝试使用 shell_exec() 运行 mysqldump 命令并检查它是否成功,如下所示:
$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 始终为空,即使我给出了无法写入文件的路径(没有现有目录,或者应该在 shell 提示符下返回权限被拒绝的东西)。
我错过了什么?