2

我只有使用此脚本的 ftp 凭据

$r="mysqldump $dbuser $dbpass $dbname wp_posts > table1.sql";

system($r);

但不幸的是,我在 table1.sql 中得到了一个空白结果

4

4 回答 4

3

您需要在命令中添加选项开关,请参阅mysqldump 手册,如下所示

$r="mysqldump -u $dbuser -p $dbpass $dbname wp_posts > table1.sql";
于 2012-04-06T11:26:42.017 回答
3

最后我得到了解决方案,这是我的代码:

<?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;
?>

感谢您的支持,非常感谢。

于 2012-04-09T07:49:49.667 回答
0

如果用户有权限试试这个:

mysqldump -u$dbuser -p$dbpass $dbname wp_posts > table1.sql

指定参数(哪个是用户,哪个是密码)

于 2012-04-06T11:26:09.423 回答
0

我想这是

mysqldump -u $dbuser -p $dbpass $dbname wp_posts

Apache 用户需要有权限写入 table1.sql 并执行 mysqldump 命令。如果在共享主机上,这是值得怀疑的。

于 2012-04-06T11:27:14.670 回答