【问题标题】:PHP run curl with exec not workingPHP运行curl而exec不起作用
【发布时间】:2015-11-28 14:33:02
【问题描述】:

当我在命令提示符下运行 curl 命令时,它工作正常,但是 当我使用 exec 在我的 PHP 文件中运行它时,它不会执行,可以 有人告诉我这是为什么?在错误日志文件中,它说,

"'curl' 不被识别为内部或外部命令"

我检查了我的 php 配置,那里启用了 curl。

【问题讨论】:

  • 感谢您的快速回复,但正如我所说,当我在命令提示符下键入 curl 时会识别它,但是当我尝试使用 exec 在 PHP 文件中执行它时它不起作用,我已经添加我的环境变量的 curl.exe 路径

标签: php linux curl exec


【解决方案1】:

从你写的我猜你使用 windows 是这样的:

  1. 当您位于安装 curl 的确切目录时,可以从 cmd.exe 执行它,但正如其他建议的那样,如果您想要全局访问它,您需要将 curl.exe 添加到您的 PATH 变量中。

  2. 尽管如此,在 PHP 中使用 CURL 比使用 exec 更好。一个完整的模块是可用的。你可以去this site查看。要在 Windows 上安装 php curl,您可能需要安装一个扩展。

手册通知:

为了在 Windows 环境中启用此模块,您的 PATH 中必须存在 libeay32.dll 和 ssleay32.dll。您不需要 cURL 站点中的 libcurl.dll。

也检查this site

祝你好运

【讨论】:

  • 感谢您的帮助,将您上面指定的文件移动到Windows/System32后它工作了
  • 如果您将它们添加到此目录,那么它们将在全球范围内可用,将它们放在 PATH 环境中应该也可以工作
【解决方案2】:

您可能没有设置路径。设置环境路径(将 curl 可执行 bin 添加到路径中),然后重新启动命令提示符。它应该工作

【讨论】:

    【解决方案3】:

    在您的 PHP 脚本中,

    • 要么使用curl 的完整路径(您可以在命令行中使用which curl 找到),
    • 或使用cURL API that is available in PHP。这是首选方法,因为并非所有主机都为 PHP 启用了exec

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多