【问题标题】:PHP mysqldump doesn't workPHP mysqldump 不起作用
【发布时间】:2011-04-23 18:59:26
【问题描述】:

我有下面显示的代码,但执行后没有任何反应

system('mysqldump -u USER -pPASS DB > /tmp/bckp.sql');

这段代码有什么问题?

苏丹

【问题讨论】:

  • 如果您从命令行运行该命令,它会起作用吗?

标签: php mysql database apache system


【解决方案1】:

可能会有很多事情出错:

  • 您是否收到任何错误消息?
  • 您尝试过echo system(... - 结果如何?
  • return value 是什么?
  • 您是否尝试过改用 exec 或 passthru?
  • 您确定您的数据库名称、用户名和密码拼写正确吗?
  • 如果您自己在终端上触发该命令会怎样?

更多信息对您很有帮助。

【讨论】:

  • 如果直接从我的控制台执行这个命令效果很好,但是通过 php 脚本就不行了
  • 似乎对执行系统命令有限制,所以现在它可以工作
【解决方案2】:

您很可能需要指定 mysqldump 的完整路径,因为它可能不在您运行 PHP 的用户的 PATH 环境变量中。转到服务器上的命令行并运行

which mysqldump 

它会吐出完整的路径。然后将system() 命令中的 mysqldump 替换为该完整路径

【讨论】:

  • 这是一个在 Windows 系统上无法识别的命令。还有一个知道绝对路径的吗?
猜你喜欢
  • 2015-10-20
  • 2018-11-14
  • 1970-01-01
  • 2013-11-12
  • 2017-07-09
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
相关资源
最近更新 更多