【问题标题】:MySQL dump on WAMP server using PHP使用 PHP 在 WAMP 服务器上转储 MySQL
【发布时间】:2015-03-16 16:53:11
【问题描述】:

我正在尝试使用 PHP 文件转储 mysql 数据库。 我使用的是 Windows 7 操作系统。

但我总是出错; 这是我的代码

$user='root';
$pass='mypassword';
$host='localhost';
//$sql_file='db_backup.sql';
$cmd = "e:\\wamp\\bin\\mysql\\mysql5.6.12\\bin\\mysqldump -h$host  -u$user -p$pass hospitalerp > db_backup.sql";
exec($cmd, $output, $return);
if ($return != 0) { //0 is ok
    die('Error: ' . implode("\r\n", $output));
}

echo "dump complete";

任何建议将不胜感激。 谢谢。

【问题讨论】:

  • 什么样的错误?在文件顶部添加error_reporting(E_ALL); ini_set('display_errors', 1); 以查看任何可能的错误并向我们展示。
  • 我已按照您的建议添加了该行,但屏幕上仍然只显示Error:

标签: php mysql wamp wampserver


【解决方案1】:

好的,我找到了解决方案,可能有人觉得它有用。

$user='root';
$pass='mypassword';
$host='localhost';

$cmd='e:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump --user='.$user.' --password='.$pass .' --host=localhost hospitalerp > db_backup4.sql';
//var_dump($cmd);exit;
exec($cmd, $output, $return);
if ($return != 0) { //0 is ok
    die('Error: ' . implode("\r\n", $output));
}

echo "dump complete";

【讨论】:

  • 看来更改发生在$cmd,您从双引号和转义反斜杠切换到单引号和非转义反斜杠。对吗?
【解决方案2】:

我注意到mysqldump需要exe扩展,就像:

$cmd='e:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe --user='.$user.' --password='.$pass .' --host=localhost hospitalerp > db_backup4.sql';

我在 Windows 10 电脑上试过这个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2016-07-28
    • 2011-05-13
    相关资源
    最近更新 更多