今晚用新搭建的系统开始采集数据,结果一开始即遇见错误: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