Call to undefined function curl_init() on win7 64bit with php5.6
前些日子把XP的系统重装了,之前运行一直好好的PHP5.4,突然运行不起来curl_init了,靠,什么毛病么。
我发现把 LoadFile "F:/php_setup/php-5.6.12/libssh2.dll" 加入到apache的配置文件中,居然正常了。毛病呀
一直用的PHP5.4挺好用的,后来线上扩容,部分生产环境全部换上了PHP5.6,接着,一些高手写了一些高级的PHP语法,结果我一更新下来,出现500错误,查了一下错误:Can't use function return value in write context。真是晕倒,只能升级自个的PHP环境了。
兴冲冲的把PHP5.6下载下来,结果一切换PHP的目录,傻了,居然报:Call to undefined function curl_init()错误,我的天呐,哥明明打开了php_curl.dll呀,为啥报这么奇葩的错误。
经过疯狂的搜索,有人说把下面四个文件复制到system32下,也有人复制两个到syswom什么目录下,结果重启apache好几次也不起作用,中间还把哥的wamp(php5.4)的环境给搞得不能用了。真是折腾呀。
经过最终的测试,下面这段配置,就可以正常跑PHP5.6了。
LoadModule php5_module "F:/php_setup/php-5.6.12/php5apache2_4.dll"
PHPIniDir "F:/php_setup/php-5.6.12/"
#LoadFile "F:/php_setup/php-5.6.12/libeay32.dll"
#LoadFile "F:/php_setup/php-5.6.12/ssleay32.dll"
#LoadFile "F:/php_setup/php-5.6.12/php5ts.dll"
LoadFile "F:/php_setup/php-5.6.12/libssh2.dll"