最近分别在WIN7和Windows8 上分别安装php 高版本!都遇到了这个问题!
一.win7系统32位, apache2.2, 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系统64位, apache2.2, php5.4 , v9版
首先前面win7下的都执行了, 但死活不行!也下载了许多64位的php_curl.dll, 也不行!
后来看到了这篇文章:
http://www.cnblogs.com/perhaps/archive/2010/11/15/1877653.html
发现很可能是加载依赖的问题! 最后解决!
1. 执行前面win7下的1-4步!
2. 下载:http://www.dependencywalker.com/
3. 查看php版本中的php_curl.dll模块依赖!自行尝试吧, 运行并找到php_curl.dll路径, 打开查看依赖库。
4. 在http.conf中最后,添加:
LoadFile E:/PHP/php-5.4/php5ts.dll
LoadFile E:/PHP/php-5.4/libeay32.dll
LoadFile E:/PHP/php-5.4/ssleay32.dll
LoadFile E:/PHP/php-5.4/libssh2.dll
LoadModule php5_module "E:/PHP/php-5.4/php5apache2_2.dll"
AddType application/x-httpd-php .php
5. 重启, 大功靠成!
三总结:
主要问题, php要下载安全版本;各种方法都试了, 仍不行, 就查看依赖并尝试添加。
php包里的php_curl.dll扩展应是可用的, 不要随便替换。 另外, 尽管php文档注释32位环境才需加依赖, 事实不是这样。
花了我半天的时间!