今晚用新搭建的系统开始采集数据,结果一开始即遇见错误:call to undefined function curl_init()。

        核查extension_dir设置没问题,extension=php_curl.dll前面的“;”也去掉了。还有哪些呢?

        度娘下,原来还要将php目录下的libssh2.dll,  ssleay32.dll, libeay32.dll,以及ext下的php_curl.dll复制至C:\Windows\System32下,然后重启Apache就可以了。

        不过核查了下,在旧的系统(php5.3.6+apache2.2)中,没有将libssh2.dll复制过去,一样的运行正常,而新系统是apache2.4+php5.6.16,没将libssh2.dll复过来前仍然是运行出错的。

        另外,度娘的经验还说将libssh2.dll复制到apache的bin目录下,不过我没有做,核查bin目录下也没有libssh2.dll,运行未见异常。

        此外,还有说在apache的httpd.conf里,要把加载的文件写上:

LoadFile "***/ssleay32.dll"
LoadFile "***/libeay32.dll"

        因为我之前已经加上去了,没有去掉验证去掉是否会出错。


1、将PHP目录下的libssh2.dll,  ssleay32.dll, libeay32.dll,以及ext下的php_curl.dll复制至C:\Windows\System32下。

2、将libssh2.dll复制到apache的bin目录下

3、重启Apache