Hye,我是PHP的新手,并试图使用php脚本使用mysqldump
我已经尝试使用命令,转储过程成功。
情况是,当我尝试使用我的本地计算机转储时,转储成功。
但是当代码转移到服务器时,mysqldump没有& #39;工作。我已经尝试了几乎与mysqldump主题相关的解决方案,但它仍然无法正常工作。我希望有人可以指导我。 TQ
<?php
/*-----------------------------------------------
MYSQLDUMP FOR SERVER
------------------------------------------*/
$dbhost = "*****";
$dbuser = "*****";
$dbpass = "*****";
$dbname = "*****";
//set date today
$today=date("d-m-Y");
//set file name
$filename = "leave_".$today.".sql";
//MYSQLDUMP
//For Server
$command = sprintf("/usr/bin/mysqldump --opt -h%s -u%s -p%s %s >/var/www/html/leave/leave/backup/%s",
//for local
//$command = sprintf("c:\AppServ\MySQL\bin\mysqldump --opt -h%s -u%s -p%s %s > %s",
$dbhost,
$dbuser,
$dbpass,
$dbname,
$filename
);
system($command);
/*-------------------------------------------------------------
TO SAVE FILE SQL INTO LOCAL
---------------------------------------------------------------*/
$file = "leave_".$today.".sql";
if(!$file)
{
// File doesn't exist, output error
die('File not found');
}
else
{
// Set headers to ask user where to save file.
header('Pragma: anytextexeptno-cache', true);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private", false);
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=$file");
// Read the file from disk
readfile($file);
}
?>
答案 0 :(得分:1)
好的,实际上我在发布问题后几天就已经解决了这个问题。不幸的是,我没有足够的声誉来发表答案。所以我们走了。
以下是需要 TAKE NOTE 的一些事项: -
*另外请注意,它是否允许系统命令是否可以从php执行。
答案 1 :(得分:0)
我假设你的php允许通过system()执行命令。
您没有以安全模式运行,或者,如果您是,safe_mode_exec_dir包含您需要的所有命令