我只有ftp凭据,我使用这个脚本
$r="mysqldump $dbuser $dbpass $dbname wp_posts > table1.sql";
system($r);
但不幸的是在table1.sql中得到一个空白的结果
答案 0 :(得分:3)
您需要在命令中添加选项开关,请参阅mysqldump manual,如下所示
$r="mysqldump -u $dbuser -p $dbpass $dbname wp_posts > table1.sql";
答案 1 :(得分:2)
最后我得到了解决方案,这是我的代码:
<?php
$username = "abc";
$password = "xyz";
$hostname = "domain.com";
$database = "test_db";
$username =escapeshellcmd($username);
$password =escapeshellcmd($password);
$hostname =escapeshellcmd($hostname);
$database =escapeshellcmd($database);
$backupFile='url'.date("Y-m-d-H-i-s").$database.'.sql.tgz';
$command = "mysqldump -u$username -p$password -h$hostname $database wp_posts > $backupFile";
system($command, $result);
echo $result;
?>
thnx的支持,非常感谢。
答案 2 :(得分:0)
如果用户具有权限,请尝试以下操作:
mysqldump -u$dbuser -p$dbpass $dbname wp_posts > table1.sql
指定参数(用户和密码)
答案 3 :(得分:0)
我认为是
mysqldump -u $dbuser -p $dbpass $dbname wp_posts
Apache用户需要具有写入table1.sql的权限,并且还需要执行mysqldump命令。如果在共享主机上,这是值得怀疑的。