64位运行PHP curl_init()出错的解决方法

今天使用64位的win2008系统的IIS7.5运行一个php的网站,结果一开始就报错了,这其实是在我的意料之内,因为php 32位与64位的兼容性问题是不可避免的,我们只有遇到一个错误解决一个错误了。今天报的错误提示是:Call to undefined function curl_init,其实这个问题在之前的32位的win2003配置php环境时就遇到到,解决方法已经知道,可以看这里解决IIS运行PHP出现Call to undefined function curl_init()的问题,不过在64的系统里这个解决方法并不凑效。

好在经过一番捣鼓,终于把这块硬骨头啃下去了。

配置过32位php运行curl_init()的用户看这里

其实,对于配置过32位的php运行curl_init()的人来说,解决起来就相当简单,按照32位的配置方法,配置完后只需再把两个文件拷贝到64位系统盘(C)的C:\Windows\SysWOW64文件夹里,然后重新启动IIS即可。这两个文件同样是32位配置时需要拷贝粘贴到C:\Windows\System32下面的那两个文件:php目录中的libeay32.dll和ssleay32.dl。

SysWOW64的位置

第一次配置php的用户看这里

如果你是第一次配置php,那么按照如下几个步骤操作即可:

1、修改php.ini文件。

      这个文件在你的php安装目录里,如c:\php\。如果没有发现该文件,就把php.ini-dist这个文件的扩展名改为.ini即可。

      用记事本打开该文件,在文件中搜索 extension_dir = “./”,将等号后面的路径修改为 “c:\php\ext”(注:“c:\php\”是php安装目录)。

      搜索“;extension=php_curl.dll”,去掉前面的分号。(这个设置是允许你的php环境执行php_curl()函数)

      保存php.ini,将它拷贝至windows文件夹下。

2、把php目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32和c:\windows\syswow64两个文件夹里面。

3、最后要重启IIS。

      IIS重启方法:在dos里输入 iisreset /restart 即可。

这样,问题就可以解决了。