我想从数据库创建一个备份,但我只得到一个空白文件。php exec() - mysqldump创建一个空文件
include('config.php');
$command = "mysqldump --opt -h ".$_host." -u ".$_user." -p ".$_pass." ".$_db." > test.sql";
exec($command);
echo "<br />".$command;
test.sql在.php文件所在的位置创建。
编辑:
注意!我正在使用XAMPP WINDOWS!
解决方案:
因为我使用的是Windows Web服务器(XAMPP),我需要指定路径:
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
- 我删除了-p之间的空间通行证。它看起来像:
-pMYPASSWORD
- 与
'
我认为,如果你使用的是基于Linux的Web服务器,则不必指定mysqldump的路径替换"
。
干杯! :-)
我想你应该删除-p和密码之间的空格。 – 2012-08-17 10:46:55
仍然得到一个空白文件。 – 2012-08-17 10:49:55
您是否尝试过回显命令(以确保所有变量均按预期方式传递)或使用正确的输入手动测试它?对于-u,你可以有一个空间, – Fluffeh 2012-08-17 10:51:34