mysqldump根本不工作:(

时间:2012-01-21 01:58:17

标签: php mysqldump

我有这段代码:

function export() 
{
    $exp = system("mysqldump -uguku -pjustbe repadmin > back-up.sql");
    if($exp) {echo 'ok';}
    else { echo 'err';}
}

但它不起作用,它只是创建“back-up.sql”文件,但它是空白的。 我收到了“错误”的消息。

2 个答案:

答案 0 :(得分:1)

尝试使用mysqldump的完整路径...

$exp = system("/full/path/mysqldump -uroot -p repadmin > back-up.sql");

which mysqldump会告诉你路径应该是什么。

答案 1 :(得分:1)

这里有一个命令无法正常运行。最好的办法是捕获stderr(错误消息的位置)并查看输出结果。另外需要注意的是环境变量会有所不同 - 例如PATH(上面提到的@Joshua_Martell)。

使用此命令捕获stderr并查看正在生成的错误消息:

/usr/bin/mysqldump -uguku -pjustbe repadmin > back-up.sql 2> mysqldump.err

这也使用mysqldump的完整路径(使用正确的路径)。您也可以添加back-up.sql的路径,在这种情况下,添加到mysqldump.err - 不要假设PHP将在您想要的目录中运行,因为可以改变。