上上周5.3.7的MD5漏洞,官方4天后更新了php5.3.8 正好windows的系统还原了,于是安装最新的php5.3.8版本
1: 下载php5.3.8 for windows.
说明一下,官网的windows版本有2种,
上面是非线程安全的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll 这些文件, 大小是14.93M .
下面那个Thread Safe线程安全版的.才是我们需要的,大小是15.06M
猛击这里下载php5.3.8 for windows VC9 X86
至于VC6和VC9,一个支持apache一个支持IIS.但是试了下VC9用在apache上没问题 .
线程安全Thread Safe(TS)和非线程安全(NTS),就是在执行时是否进行线程安全检查,以防止有新要求就启动新建成的CGI执行方式,进而耗尽系统资源.
执行方式有ISAPI和FastCGI,
前者ISAPI(Internet Server Application Programming Interface)是以DLL动态链接库的形式使用,在用户请求后执行,在处理完一个用户请求后不会马上消失,因此需要进行线程安全检查.以此来提高程 序的执行效率. 所以以ISAPI的方式来执行PHP,最好选择Thread Safe版本也就是我们下载的版本,对应的apache的设置在第4段末尾有.
FastCGI是以单一线程执行,所以不需要进行线程安全检查,因为没有了线程安全检查,反而加快了PHP的执行效率.所以如果用FastCGI来执行PHP,最好选择Not Thread Safe版本 .而在apache中就需要设置成下面的.(这里我们配置的环境不用设置)
(Notice: 如果安装其它的集成环境,比如wamp会报错,由于这 是VC9的原因.会导致加载PHPIniDir后apache不能重启.同理,如果有phper的机器装不上APACHE.PHP5.3.8.解决办法有 2个,第一办法是建议换成VC6的版本.官方apache手册也说了VC 9 for apache unstable behaviour,需要大家重新安装.设置跟5.3.8一样.第二个办法是装一个VC++2008的运行环境,具体解决方法请看下面的第10条.
Windows users: please mind that we do no longer provide builds created with Visual Studio C++ 6. It is impossible to maintain a high quality and safe build of PHP for Windows using this unmaintained compiler.
For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual Studio C++ 9 version of Apache. We recommend the Apache builds as provided by ApacheLounge. For any other SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable server), everything works as before. Third party extension providers must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.)
2: 解压后,以前的php.ini是由php.ini-dist文件转变过来的
php5.3.8里面这个文件变成了php.ini-development
php.ini-development 意味着是开发版本的配置.
php.ini-production 是网站发布时的配置.
这里我们用开发版php.ini-development 修改成php.ini后 打开.
3: 下面修改php.ini的配置 我的php5.3.8是放在了F:/php/php5 文件夹下面
修改下面的为以下内容()
找到extension_dir 和下面很多的 extension= ****.dll 这里
在extension=****.dll 的前面加上这一段来配置php的动态链接库地址
去掉以下的extension前面的分号 ; 使其开启
设置时区为中国时区
4: 让Apahce支持php. (Apache的安装很简单,这里省略下)
打开.\apache2.2\conf\httpd.conf
在大约60行的位置添加
在LoadModule这段后面添加
在大约380行Addtype那里加入
5: 重启Apache
这时候弹出找不到php_curl.dll 和php_openssl.dll
可是我们路径都指定了的,解决办法
复制php5文件夹下面的
libeay32.dll, ssleay32.dll, php5ts.dll,
php5/ext文件夹下面的
php_curl.dll,php_openssl.dll
复制到C:/windows/system32 里面.
重启apache
6: 测试phpinfo和mysqlConn.
老版本的php是有一个libmysql.dll文件的,新版的libmysql.dll这个文件已经移交给了MySQL的开发团队,所以大家不用费心去找这个文件了.它就在MySQL安装目录的lib文件夹下. 复制一份到C:/windows/system32即可
在你的apache指定的www目录下新建一个phpinfo()文件.输入
新建一个mysqlconn.php文件.输入
打开浏览器输入http://127.0.0.1/mysqlconn.php
得到 Successful! 表明数据库链接成功
7:安装phpMyAdmin3.4.0
解压下来后把phpmyadmin放入www目录
找到phpmyadmin文件夹里的/libraries/config.default.php
修改以下内容
8:phpMyAdmin的出错解决:
a: 无法载入mcrypt扩展,请检查PHP配置
这个问题首先查看mysql是否开始.如果开启了,把php里面的 libmcrypt.dll 复制一份到windows/system32下. 并且检查php.ini文件里面extension=php_mcrypt.dll是否开启.
如果都不行,检查系统环境变量,在我的电脑 右键 属性, 高级 环境变量 里面的 系统变量 Path里面加入你的php安装路径 ;F:\php\php5 注意有分号隔开
b:如果phpMyAdmin登录出现下面的错误.Themysqliextension is missing
The mysqli extension is missing. Please check your PHP configuration. <a href="Documentation.html#faqmysql" target="documentation"><img class="icon" src="./themes/original/img/b_help.png" width="11" height="11" alt="Documentation" title="Documentation" /></a>
复制php/ext/php_mysqli.dll 到windows/system32 后,即可进入
9: zendOptimizer,xdebug,WinCacheGrind加速调试的安装:
zend加速器安装很简单.exe文件,直接双击就行了.WinCacheGrind也是一样.地址就不贴了,大家辛苦搜下.
这里只说下xdebug的安装.
首先打开
http://127.0.0.1/phpinfo.php
然后,把phpinfo.php解析后的内容ctrl+A,ctrl+c复制,然后ctrl+v粘贴在http://xdebug.org/find-binary.php 这个里面
接着点 屏幕左下的那个.
然后会给出你你需要操作的步骤.
第一个是你需要下载的xdebug版本.下载后复制到你的php/ext 里面去.改名不改名无所谓.
然后在php.ini里面添加下面提示的那个地址.比如我在我的php.ini添加上
这里唯一需要注意的是,xdebug的输入路径必须要真实存在,它不会自己建的.所以需要提前建好.如果你下下来没改名,那么我上面的那个挂载文件就需要改成没改名的文件.
这些操作完了,复制一份新的php.ini去windows目录,然后打开cmd.exe输入
来重启apache.然后就可以在phpinfo的最开始看见zendOptimizer和xdebug加载提示了.
如果apache安装完后,打开127.0.0.1显示it works,但是加载配置了的php.ini,重启apache不能启动报错的话,,这里我们先查阅apache的error.log,发现出现 cannot load php5apache2_2.dll,这里说下这个问题的解决和缘由
首先去掉
LoadModule php5_module "F:/php/php5apache2_2.dll"
PHPIniDir "F:/php/php5"
重启apache正常.apache版本2.2.18 php版本5.3.8 VC9. 由于5.3.8的PHP是由VC编译完成,如果调用或者运行该PHP的相关文件,则需要安装VC的运行环境,如果没有这个环境,那么Apache调用时就会报上述错误信息.
解决的方法很简单:下一个VC2008运行库安装,地址在这里VC2008.,然后就可以解决了