【发布时间】:2014-02-20 11:08:09
【问题描述】:
我已使用以下内容检查我的服务器上是否启用了exec():
public function exec_enabled() {
$disabled = explode(',', ini_get('disable_functions'));
return !in_array('exec', $disabled);
}
我发现它已在我的服务器上启用。现在我正在尝试运行以下命令,但数据库没有得到备份:
exec('mysqldump --user=foo --password=bar --host=localhost foobar > backup.sql');
我也试过
exec('mysqldump -u foo -p bar foobar > backup.sql');
但它也没有工作。此外,我没有收到任何错误(错误报告已打开)。谁能告诉我我在这里做错了什么?
【问题讨论】:
-
试试这个
exec('mysqldump -ufoo -pbar foobar > backup.sql');。用户名和密码后不要留空格 -
使用
system("mysqldump -ufoo -pbar foobar > backup.sql");而不是exec。 -
已经试过了,亲爱的。在尝试使用
exec()、shell_exec()和system() -
exec("/usr/bin/mysqldump -uusername-ppassword 数据库名 | gzip -9 > /path/to/backupfile.gz");对于 Linux
-
密码字段:-pbar 代替 -p bar
标签: php mysql mysqli backup database-backups