1

我目前正在将我的网络应用程序移至亚马逊 ec2。由于它仅用于测试,我使用名为 ec2 free tier 的免费版本和 windows server 2008 实例。然而,尽管我已经完成了我所知道的并阅读了这个线程(如何在 PHP / XAMPP 中启用 cURL)。我只是无法在我的 php 脚本上使用 curl。它总是在第 2 行的 C:\xampp\htdocs\index.php 中创建错误 Call to undefined function curl_init() 这是我尝试过的所有内容

  1. 安装 Wamp(我在 XAMPP 上试过)
  2. 取消注释掉php.ini 文件中的 php_curl(并重新启动 apache)
  3. 将两个dll文件复制到system32和syswow64

这可能与我使用免费 vps 的事实有关吗? 更新: 另外,当我在 XAMPP 中启动 apache 服务器时,出现此错误“PHP 启动:无法加载动态库 curl.dll” 但是,我仔细检查了 ext 目录并且 php_curl.dll 在那里。

4

4 回答 4

1

我认为 curl 需要从我们的 Web 服务器访问远程服务器。所以我在我的服务器出站规则中打开了所有流量并且它工作正常。我认为这不是一个好的解决方案。还在寻找更好的方法。

于 2014-10-14T17:22:26.880 回答
0

我确实注意到这个 cURL 插件出现故障的一个原因是 libeay32.dll 和 ssleay32.dll 文件的副本的可用性。请检查您的system32文件夹是否有这样的副本,如果有,请将它们重命名为其他名称并复制php安装时找到的名称。有时您可能需要重新启动机器。前段时间在这里记录了这一点。

于 2013-07-23T11:46:43.090 回答
0

不。

确保您将文件放在正确的位置,通常位于 php 的插件文件夹中!也许你不能为你的 php.ini 添加一个绝对路径!请确保,您编辑了正确的 ini 文件!

php 完全独立于您的操作系统!

请务必仔细检查所有内容。因为它没有说,它无法加载你的扩展,它只是说,你试图调用的函数不存在。所以我假设你的扩展根本没有加载!:)

于 2012-07-22T09:04:11.207 回答
0

我有一个类似的问题,但它只发生在 https 下的请求。我尝试直接从 ec2 机器创建 curl 请求,但出现错误:“curl: (77) error setting certificate verify locations”。

由于找不到证书,某种 ssl 验证似乎失败了。因此,我在 curl 命令中使用了参数 -k(或 --insicure)来忽略此验证,然后我的 curls 请求直接来自 ec2 机器工作。

所以我尝试在 php 中的 curl 命令中应用类似的 ideia,(我假设 curl php 扩展将此请求转发给操作系统),我发现了这个 curl 选项:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

之后它对我有用。

可能这不是解决问题的最佳方法,但暂时解决了我的问题。

于 2018-11-04T20:26:34.650 回答