Php backup.sql文件为空
我正试图用这段代码备份mysql数据库Php backup.sql文件为空,php,mysql,backup,Php,Mysql,Backup,我正试图用这段代码备份mysql数据库 include ("functions_cp/f_connection.php"); Sqlconnection() ; $dbname = "Reservebox"; $dbhost = "localhost"; $dbuser = "root"; $dbpass = "123"; $backupFile = $dbname . date("Y-m-d-H-i-s") . '.sql
include ("functions_cp/f_connection.php");
Sqlconnection() ;
$dbname = "Reservebox";
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "123";
$backupFile = $dbname . date("Y-m-d-H-i-s") . '.sql';
$command = 'mysqldump -h' . $dbhost . ' -u ' . $dbuser . '-p =' . $dbpass . ' '. $dbname . ' > ' . $backupFile ;
system($command);
该脚本工作正常,并生成一个.sql文件,但该文件为空,如何解决此问题
谢谢不要在
-p
和密码之间加空格或等号。另外,在-p
前面缺少一个空格
$command = 'mysqldump -h' . $dbhost . ' -u ' . $dbuser . ' -p' . $dbpass . ' '. $dbname . ' > ' . $backupFile ;
可能是文件权限错误。检查运行PHP和MySQL的用户是否具有写入文件的权限。为了进行故障排除,请将目录chmod到0777,看看这是否解决了问题。如果是这样,请将目录发送给MySQL所运行的任何用户。如果您使用
echo$command
并手动运行它,它是否有效?@Book Of Zeus这是一个操作文件,我使用带有submit
按钮的表单来创建backup@BaderHAlRayyes,这并不重要。只是为了临时调试,您应该回显该命令,以确保它看起来与您试图使其看起来像的一样,并确保它运行。例如,仅通过检查,我已经发现了两个无法使其运行的东西(请参见我的示例)。如果你只是暂时回显一下,你会更容易发现它们。我确实放了一个回显
,但没有发生任何事情,没有错误或任何迹象,文件是生成的,但它是0KB。我删除了空格和=
,这是一个打字错误,但什么也没有发生,还是一样的问题。那么请按照@Book Of Zeus所说的去做,并响应命令,以确保其余的看起来是正确的。@BaderHAlRayyes,而且我刚刚编辑了我的帖子来修正一个错误。您也不能有“=”符号。现在试试。我如何在本地计算机上将文件夹chmod到0777?Windows具有类似chmod的功能,但在Windows计算机上99.99%的时间它不是问题。就你的情况而言,我高度怀疑这是问题所在。对不起,我获得了folderwell的所有权限,那不是问题所在。如果您得到的是一个空白文件,请尝试回显该命令,并确保语法正确。这就是我所能想到的