Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在Windows 7上对所有数据库进行mysqldump_Php_Windows 7_Mysqldump - Fatal编程技术网

使用PHP在Windows 7上对所有数据库进行mysqldump

使用PHP在Windows 7上对所有数据库进行mysqldump,php,windows-7,mysqldump,Php,Windows 7,Mysqldump,我试图执行mysqldump,用一个小PHP脚本导出所有数据库,但每次执行代码时都会创建一个空文件 <?php error_reporting(E_ALL); ini_set('display_errors', '1'); $filename='database_backup_'.date('G_a_m_d_y').'.sql'; $result=exec('mysqldump -p123456 -uroot --all-databases --single-transaction &

我试图执行mysqldump,用一个小PHP脚本导出所有数据库,但每次执行代码时都会创建一个空文件

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

$filename='database_backup_'.date('G_a_m_d_y').'.sql';

$result=exec('mysqldump -p123456 -uroot --all-databases --single-transaction > C:\\tmp' . $filename,$output);

if($output==''){
    echo("Success");
}
else {
    var_dump($output);
} 

?>

要查看问题所在,请将原始声明更改为以下内容:

$result=exec('mysqldump-p123456-uroot--all databases--single transaction>C:\\tmp'.$filename,$output,$returnVar)

这里的区别是我添加了
$returnVar
作为
exec()
函数的第三个参数。此参数将返回已执行命令的状态


现在试试
print\r($returnVar)
看看它说了些什么。

你能暂时试试
passthru
而不是
exec
@karancan吗,这就成功了,但我还是想知道exec失败的原因。
passthru('C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump.exe -uroot -p123456 --all-databases --single-transaction > C:\\tmp' . $filename);