操作系统是windows7 64位,WEB环境是apache2.2、php5.2.17。
在配置一个PHP系统的时候,出现“Call to undefined function curl_init()”的错误。
错误提示说curl_init未能正常加载。使用phpinfo检查,没有curl项目。

按照常规解决方案,首页检查php.ini文件:

1、搜索:“extension_dir =“,修改为“extension_dir = c:\php\ext”(注:“c:\php\”是php安装目录);
2、搜索:“;extension=php_gd2.dll”、“;extension=php_mysql.dll”、“;extension=php_curl.dll”,去掉前面的分号;
3、重启IIS或APACHE。

如果还不行:

1、检查extension_dir设置的目录下检查有无php_curl.dll;
2、把php目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面。
3、重启IIS或APACHE。

判断curl是否正常加载,使用phpinfo,搜索 curl 即可看到:

cURL support    enabled

如果没有出现curl字样,就说明curl加载不成功。

如果是一般情况,上面的方案已经完全能够解决问题了。但确实问题没能解决。
是什么原因呢?

因为系统是64位,所以libeay32.dll、ssleay32.dll 这2个文件必须拷贝到:

C://Windows/SysWOW64 目录下,而不是System32目录。

这里把经历发布出来,让有需要的朋友少走弯路。

标签: php, curl

添加新评论