Windows下解决php_curl扩展模块无法加载的处理方法

apache 中php_curl不能加载

提示错误Fatal error:Call to undefined function curl_init(),我估计应该有人也有类似问题,赶紧百度一下,果然好多人遇到这个问题.

1、将PHP安装目录中找libeay32.dll,ssleay32.dll,php_curl.dll,php5ts.dll四个DLL文件,有的在ext目录,找到后将他们复制到system32下,如果找不到请下载对应版本的PHP复制过去;

2、检查php.exe, php5ts.dll和php_curl.dll的版本是否相同,把鼠标放到什么就会显示版本信息;

3、打开你的php.ini文件,不知道在哪个位置的可以先phpinfo查看第六行显示路径,不要搞混了,打开做如下修改:将php_curl前的注释符(也就是分号)去掉。有必要的话将cgi.force_redirect前的注释符也去掉,并把值1修改为0;

4、重启IIS或apache后运行phpinfo检查curl是否成功加载,Ctrl+F查找curl,如果没有匹配,那肯定是没有加载成功,如果有匹配,恭喜你已经成功加载了。

具体解决办法

在php.ini中找到有extension=php_curl.dll,去掉前面的注释,设置extension_dir=c:phpext,刷新PHP页面时报错,说找不到模块php_curl.dll,拷贝php_curl.dll 到windowssystem32,还是同样的错.

在网上找了一下,需要将:

libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll

都拷贝到system32目录下,重启apache即可.

附上iis php_curl不能使用

问题:PHP 在 IIS6 或 IIS7 中无法加载 php_curl.dll 动态链接库。

解决方法:在PHP手册中有相关说明,php_curl.dll;CURL,客户端 URL 库函数库;需要:libeay32.dll,ssleay32.dll(已附带)

所以只要将 libeay32.dll,ssleay32.dll 这两个库复制到 %WINDOWS% 目录下即可.