LOGO
Yutuo

最近一个项目用到了CURL,我的开发环境是Windows10,实际的运行环境是Linux。发现开发的代码的Linux上可以运行,在Windows下,总是出现curl_init undefined的错误。查看了php.ini里的扩展设置,发现php_curl.dll的设置是打开的,但就是无法加载。

然后查看了Apache的启动Log,也没发现有什么异常。在网上找了一下,发现还是设置不对的问题。

具体方法如下:

1. 确认php.ini里的设置

先确认php.ini文件里的php_curl.dll是否打开,就是确认php_curl.dll前是不是用分号。

例如,我的设置如下:

Ini
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_ftp.dll

2. 确认php.ini里的设置

从PHP安装目录下,复制下面几个文件到Apache的安装目录下的bin文件夹,覆盖原文件。

libeay32.dll
libssh2.dll
ssleay32.dll

一般来说,会覆盖libeay32.dll和ssleay32.dll这两个文件。

3. 确认修改是否成功

重启Apache服务器,然后再测试一下,看看curl_init undefined的错误是否已经解决。

※ 确认修改是否成功

Widnows下的php_curl无法确认SSL证明书的有效性。所以在代码中把SSL证明书的验证关掉。

关掉SSL证明书验证的代码如下:

PHP
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

转载请注明:宇托的狗窝 » Windows下PHP的curl_init undefined错误的解决方法

上一篇 下一篇
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址