最近分别在win7和Win8、win10 上分别安装php 高版本!都遇到了这个问题!
一、win7系统, apache2.2/apache2.4, php5.2升级到5.4.
这个比较容易:
1. phpinfo发现没有加载curl;
2. 在php.ini中设置extension_dir 指向e:\php5.4\ext; 部分php扩展加载了, 但curl仍不行。
3. 设置windows系统环境变量, phpext, 指向e:\php5.4\ext, PHPRC 指向e:\php5.4
设置path环境变量,添加e:\php5.4
4. 重新启动apache, 终于出来了, 大功告成!
二、win8、win10系统, apache2.4, php5.4/5.5/5.6, v9/v11
首先前面win7下的都执行了, 但死活不行!也下载了许多64位的php_curl.dll, 也不行!
发现很可能是加载依赖的问题! 最后解决!
1. 执行前面win7下的1-4步!
2. 下载:http://www.dependencywalker.com/
3. 查看php版本中的php_curl.dll模块依赖!自行尝试吧, 运行并找到php_curl.dll路径, 打开查看依赖库。
4. 在http.conf中最后,添加:
LoadFile D:/Lamp/php5/php5ts.dll
LoadFile D:/Lamp/php5/libeay32.dll
LoadFile D:/Lamp/php5/ssleay32.dll
LoadFile D:/Lamp/php5/libssh2.dll
LoadModule php5_module "D:/Lamp/php5/php5apache2_4.dll"
AddType application/x-httpd-php .php
5. 重启, 大功靠成!
三、总结:
主要问题, php要下载安全版本;各种方法都试了, 仍不行, 就查看依赖并尝试添加。
php包里的php_curl.dll扩展应是可用的, 不要随便替换。 另外, 尽管php文档注释32位环境才需加依赖, 事实不是这样。