我只有使用此脚本的 ftp 凭据
$r="mysqldump $dbuser $dbpass $dbname wp_posts > table1.sql";
system($r);
但不幸的是,我在 table1.sql 中得到了一个空白结果
您需要在命令中添加选项开关,请参阅mysqldump 手册,如下所示
$r="mysqldump -u $dbuser -p $dbpass $dbname wp_posts > table1.sql";
最后我得到了解决方案,这是我的代码:
<?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;
?>
感谢您的支持,非常感谢。
如果用户有权限试试这个:
mysqldump -u$dbuser -p$dbpass $dbname wp_posts > table1.sql
指定参数(哪个是用户,哪个是密码)
我想这是
mysqldump -u $dbuser -p $dbpass $dbname wp_posts
Apache 用户需要有权限写入 table1.sql 并执行 mysqldump 命令。如果在共享主机上,这是值得怀疑的。