mysqldump from inside php


mysqldump from inside php

我试图通过使用mysqldump命令从一个简单的php脚本内转储DB,但输出文件是空的,在这个脚本有什么问题吗?

<?php
$dbhost = 'best.hostname.com';
$dbuser = 'best';
$dbpass = 'pass4best';
$dbname = 'best';
exec('mysqldump --host=$dbhost --user=$dbuser --pass=$dbpass $dbname > best.sql');
?>

根据您的注释,该命令应该是

exec('mysqldump --host=$dbhost --user=$dbuser --pass=$dbpass --databases $dbname > best.sql');

似乎exec()不工作,但shell_exec()工作!工作代码为:

shell_exec( "mysqldump --allow-keywords --opt -h$dbhost -u$dbuser -p$dbpass $dbname | gzip> $backup_file");

谢谢