【发布时间】:2012-08-17 10:44:01
【问题描述】:
我想从数据库创建备份,但我只得到一个空白文件。
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 Server (XAMPP),所以我需要指定路径:
$command = 'd:\xampp\mysql\bin\mysqldump --opt -u '.$_user.' -p'.$_pass.' '.$_db.' > test.sql';
- 我删除了 -p 和 pass 之间的空格。看起来像:
-pMYPASSWORD - 将
"替换为'
我认为如果您使用的是基于 Linux 的 Web 服务器,则不必指定 mysqldump 的路径。
干杯! :-)
【问题讨论】:
-
我认为您应该删除 -p 和密码之间的空格。
-
您是否尝试过回显命令(以确保所有变量都按预期传递)或使用正确的输入手动测试它?