Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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 backup.sql文件为空_Php_Mysql_Backup - Fatal编程技术网

Php backup.sql文件为空

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

我正试图用这段代码备份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';

$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的所有权限,那不是问题所在。如果您得到的是一个空白文件,请尝试回显该命令,并确保语法正确。这就是我所能想到的