Php mysqldump不产生任何输出
我需要将整个数据库转储到一个文本文件中,但mysqldump没有输出任何内容。下面是我通过php脚本执行的命令:Php mysqldump不产生任何输出,php,mysql,mysqldump,Php,Mysql,Mysqldump,我需要将整个数据库转储到一个文本文件中,但mysqldump没有输出任何内容。下面是我通过php脚本执行的命令: <?php $_user="root"; $_pass=""; $_db="somedb"; $_host = "localhost"; $filename = "somedb.zip"; $target_fn = "test.txt"; $command = 'c:\xampp\mysql\bin\mysqldump -u'.$_user.'
<?php
$_user="root";
$_pass="";
$_db="somedb";
$_host = "localhost";
$filename = "somedb.zip";
$target_fn = "test.txt";
$command = 'c:\xampp\mysql\bin\mysqldump -u'.$_user.' -p'.$_pass.' -
h'.$_host." ".$_db.' > test.txt';
try{
exec( $command );
}
catch(Exception $e){
echo $e;
}
?>
编辑
我在XAMPP堆栈上
编辑
在cmd上运行上述命令后,我意识到它仍然会提示输入密码。可能是命令错误地解释了空密码
$return_var = NULL;
$output = NULL;
$command = "/usr/bin/mysqldump -u mysql-user -h 123.145.167.189 -pmysql-pass database_name > /path-to-export/file.sql";
exec($command, $output, $return_var);
尝试为exec提供另外两个参数
因此,问题在于空白密码的命令语法/结构。以下是空白过程的正确命令:
$command = 'C:\xampp\mysql\bin\mysqldump -u'.$_user.' -h'.$_host." ".$_db.' > test.txt';
使用这些值,您是否证明mysqldump是从shell工作的?我在xampp stackwindows上,这是mysqldump程序所在的位置…您的mysql dumb版本是什么?我怎么知道版本?我不知道为什么这个答案被标记为无用?请解释一下。