在本系列文章第一章中提及到的环境软件版本如下:IIS 6+FastCGI+PHP 5.2.x+MySQL 5.0.x+MSSQL 2000+NET 2.0.x+Serv-U 6.x+McAfee 8.7i。
毕竟PHP环境原生于Linux,如果要在Windows环境跑得好点,是需要区分好它的版本号的。
首先,先简单从笔者的理解介绍一下FastCGI,它是微软推出在Windows的IIS下运行PHP脚本的软件,首先应用于Windows 2008的IIS 7,后来又发布了for IIS 6版本,根据微软自己的发布介绍,说这个FastCGI可以让PHP在Windows环境比之前的加载DLL形式(isapi)效率高上几倍。
如果要在Windows配置PHP环境,建议安装软件的顺序是: IIS 6-FastCGI-PHP+MySQL。添加IIS组件的就不介绍了,直接到控制面板,删除/添加组件即可。FastCGI的下载地址:http://www.iis.net/expand/fastcgi,请区分好您的系统是32位还是64位的,一般而言,默认安装的都是32位的系统,在下载页面,看到:x86 / x64,x86就是32位的意思,x64就是64位的意思。选择对应的先下载保存好。本章是属于介绍版本的,所以安装的注意事项下一章再展开。
由于FastCGI的文档查询起来有点困难,所以暂时不对FastCGI的版本等信息展开。
下面重点展开PHP和MySQL的版本探讨。毕竟在Discuz等论坛都看到不少关于PHP版本的问题。
PHP的官方网站:http://www.php.net/。打开它的官方网站,可以看到不少关于PHP的文档。PHP是一个开源的环境平台,它支持在Linux内核的系统和Windows内核的系统运行。现在就它的版本为大家解释一下。
截止本文发布的日期,在下载页面,看到的有:PHP 5.3.1,PHP 5.2.12。究竟这两个有什么区别呢?是不是越新越好呢?答案不是的。如果您安装的是PHP 5.3.1的话,很多国内的程序根本还不兼容,因为它是最新的PHP的版本发展方向,是过渡到PHP 6的前一个版本。而且,最新的PHP 5.3.1是直接使用FastCGI形式运行的了,不再支持ISAPI加载DLL的形式。如果要运行大部分的程序,还是选择PHP 5.2.12是最好的,PHP 5.2.x和PHP 5.3.x是完全不同的版本的了。至于PHP 5.2.x,后面的x则代表不同的版本号,一般是越大越修复多的Bug,也就是越好的版本,只要不超过那个PHP 5.2.x中的2即可。讲到这里,意思应该大家都明白,如果您看到的一篇文章是关于在PHP 5.2.6下安装Discuz论坛的话,那么,在PHP 5.2.12下安装也是差不多的,只是PHP 5.2.12比PHP 5.2.6的版本更加新罢了。
PHP除了版本,还有加载方式的区分,就是文中之前提及到的ISAPI方式和FastCGI方式。如果是ISAP方式的话,下载的则需要是pack包形式的,这样里面才有php5isapi.dll这个DLL文件可以配置。下载页面:http://www.php.net/get/php-5.2.12-nts-Win32.zip/from/a/mirror。
如果是FastCGI的话,请下载Install包的,下载页面:http://www.php.net/get/php-5.2.12-nts-win32-installer.msi/from/a/mirror。
关于PHP页面的一些版本区别,VC6和VC9的区别,Thread Safe和Non Thread Safe。翻译一些英文资料:只有在CGI/FastCGI模式下non-thread-safe才会工作。模块化安装方式不起作用,Windows下web server大多是多线程的。non-thread-safe意味着更好的性能,不过差异不大,php内部就已经很高效。无论是否值得这么做,带来的困惑却有很大争议。建议使用FastCGI方式的话,下载non-thread-safe的即可,即使不起作用,也不影响。
MySQL官方网站:http://www.mysql.com/。MySQL比起PHP,有着更加复杂的背景,不过我们只追求环境的搭配,不去研究这些公司背后的事情。MySQL分成三大版本:MySQL 4.1、MySQL 5.0和MySQL 5.5。和PHP一样,PHP 5.5是实验室中的产品,具有很多先进的性能,但是实际生产环境还没有大规模去应用。所以建议使用MySQL 4.1和MySQL 5.0即可,在国内的主流应用当中,建议使用MySQL 5.0。截止本文发布日期,官网上最新的MySQL 5.0.x系列版本是MySQL 5.0.89。笔者则建议使用MySQL 5.0.11a,为什么呢?笔者选择的原因很简单,因为最新版本的PHPMyAdmin 3.2.4使用的MySQL引擎就是MySQL 5.0.11a版本。所以,使用PHPMYAdmin管理MySQL的话,使用这个版本会减少不必要的警告信息。
MySQL 下载没有多大的区别,在Windows 下载的话,下载页面是:http://dev.mysql.com/downloads/mysql/5.0.html#win32,这个是32位的操作系统的下载页面,其他版本的话请选择其他的连接即可。
MySQL 4.1版本还是有很大的应用场合,但是PHP 4.x系列的话,在国内基本最新的程序都不支持了,建议使用PHP 5.2.x+MySQL 5.0.x组合。
以上两个是PHP环境最需要注意的版本信息,其他的软件则不在PHP环境下重点讨论的。MSSQL 2000是微软经典的数据库软件版本,比起MSSQL 2005和MSSQL 2008,MSSQL 2000则有着巨大的使用人群。.NET 2.0则是在国内比较折中的应用,比起.NET 1.1和.NET 3.0,.NET 2.0是主流。
至于McAfee 8.7i,它比McAfee 8.5i的进程多了三、四个吧,但是占用资源却比McAfee 8.5i和McAfee 8.0都低很多,特别是经过优化的配置,占用的资源达到很理想的状态,这个在安全篇再展开探讨吧。
《只为PHP在Windows 2003跑得好点》系列文章首发于“用网站改变一些事情”梁远辉的Blog:http://blog.gougliang.com。