【问题标题】:cURL is already installed but still giving this error Elasticsearch-PHP requires cURL, or a custom HTTP handlercURL 已安装,但仍然出现此错误 Elasticsearch-PHP 需要 cURL 或自定义 HTTP 处理程序
【发布时间】:2018-12-17 23:38:59
【问题描述】:

我正在尝试在我的 Laravel 项目中实现 Elastic-search,但它给出了这个错误。

Elasticsearch-PHP 需要 cURL 或自定义 HTTP 处理程序。

我仔细检查了它的 cURL,它已加载到我的 php 中,而且我之前正在处理其他一些项目,并通过 cURL 向不同的 API 发送许多请求,它在那里工作,但在 laravel 内部它给了我这个错误。

为什么我的 xampp 会这样做,我该如何解决这个问题提前谢谢你。

【问题讨论】:

  • 运行 phpinfo() 并检查是否确实为您当前正在处理的项目启用了 cURL。很有可能在 php 配置中存在混淆。
  • @apokryfos 先生,我已经检查过它没有为此项目启用,但是当我在其他项目中检查它时它已启用我对这种行为感到困惑,我该怎么做才能让它工作
  • phpinfo 告诉您使用了哪个 php.ini 文件。确保这个项目使用相同的(以及相同的 php 版本)。如果没有,则检查您在 xampp 中的虚拟主机配置
  • 它给了我这个http://prntscr.com/k4mpyt,我正在检查是否加载了相同的 .ini 文件扩展名

标签: php elasticsearch curl laravel-5 libcurl


【解决方案1】:

我认为您安装了多个 PHP 实例。检查您的 Windows 环境变量,以查看 PHP 的运行位置。假设您使用 Git,请在终端中执行 php -v 以查看加载了哪个 php 版本并检查它是否与 xampp 中的 php 对应。或者删除 xampp 并将其安装在新文件夹中,例如 webserver/xampp。启用 php 模块,重新启动 apache 和 mysql 并检查 phpinfo()。

【讨论】:

  • 确实解决了我的问题 cURL 现在在那里,但为了使用它,我必须将我的所有项目移动到这个不正确的新目录,因为我在旧 xampp 版本中安装了许多其他库使用这个解决方案,我不得不将所有东西都移到这个新安装中,这对我来说不是一个好主意,因为旧 xampp 版本中有 90 多个项目。
  • 知道了。如果您有超过 90 个项目在 php/apache 中使用特定类型的安装,那么可以将它们保留在旧安装中。在您的机器上,您可以安装多个 xampp 实例。我的系统上安装了 3 个用于 php 5.6、7.0 和 7.2 的 xampp。都有自己的相应项目。随着您的项目变得越来越复杂,您将发展到更多的安装,如果您将使用 redis 或 MongoDB 设置在 nginx 中交付项目怎么办?您将需要系统设置的灵活性,不要考虑所有项目的 1 设置。反过来说,每个项目都有自己的设置。
  • 忘了提到我安装了 wamp 并从他们选择 PHP 7.1.6 并将我的 PHP 路径从 D:xampp 更改为 C:wamp 现在我的 D:/xampp 也从 C:wamp 运行 PHP是对我有用的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 2019-06-01
  • 2019-08-06
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多