PHP - mysqldump不起作用

时间:2016-05-19 19:07:09

标签: php mysql mysqldump

我正在尝试执行

exec('mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql' ,$output, $return_var);

我也尝试过,

exec('mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql');

$输出为空 $ return_var为2

我在文件 / etc / sudoers

中更改了apache用户的权限
#User privilege specification
www-data ALL=(ALL:ALL) NOPASSWD:ALL

以下是在cmd上运行

mysqldump -u user -pPASSWORD db1 tbl1 > /etc/table1.sql

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我宁愿将其发布为评论而不是答案,但我建议使用popen,因为它可能会为您的命令失败提供更多有用的信息。

全功能签名:

popen (string $command, string $mode)

它有点像fopen,包括模式。在您的情况下,您可能希望使用'r'作为模式。该函数返回fopen之类的句柄,因此您可以fread获取数据。完成后别忘了pclose汉德!

要捕获任何错误输出(即使命令失败,该函数也会返回句柄),在命令后添加2>&1(包括前导空格)。您可以在之后删除它,它只是将错误重定向到输出。

<强>来源:

http://php.net/manual/en/function.popen.php