gpt4 book ai didi

php - 无法调用 exec(mysql < quicktest.sql)

转载 作者:行者123 更新时间:2023-11-29 07:08:37 25 4
gpt4 key购买 nike

我无法在 WAMP 安装上执行以下 PHP 代码行:

exec("mysql < quicktest.sql --user=root --password=password");
  • 实际的 sql 文件非常简单,在 PhpMyAdmin 中运行良好
  • 我可以从命令行运行 mysql < quicktest...等,它运行良好
  • 我可以 exec() 来自 php 的其他命令没问题,例如执行(“目录”);
  • 我正在从这台机器上其他地方的 PHP 调用 exec("mysql < ...")(尽管通过 PHPunit)
  • 尝试用引号替换双引号
  • 尝试转义目录分隔符
  • 尝试将 quicktest.sql 重新定位到与脚本本身相同的位置
  • 尝试将 quicktest.sql 重定位到 htdocs 的根目录
  • 尝试将输出分配给一个变量,但结果是空白(但是 mysql 命令行无论如何都不返回任何内容?)
  • 尝试将一个数组作为第二个参数传递给 exec 语句以捕获任何错误,但再次出现空白

有什么想法吗?非常感谢!

最佳答案

我看错的主要是--user=root --password=password应该在 < 之前

还有问题吗?

尝试使用 quicktest.sql 的完整路径,而不仅仅是文件名。我的猜测是,尽管您尽了最大努力,但您没有使用正确的目录。

您可以运行 pwd在 exec 中查看它正在运行的路径。

另一个潜在的问题是权限。在 sudo 下运行 php 脚本看看是否能解决问题。

关于php - 无法调用 exec(mysql < quicktest.sql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5879463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com