Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建+并做适当的Discuz优化
由于种种原因,服务器一直都用Windows 2003,预计花费一天时间等待机房技术帮安装Windows 2008操作系统,中途还是比较周折,刚开始由于没有说明机房技术安装的是Windows 2008 32位的。一想这怎么行呢,有64位不用我干嘛整那32位的呢,于是在一小阵子纠结后果断又安排机房技术重新给安装Windows 2008 R2,顺便说一下,Windows 2008 R2没有32位的,只有64位一个版本。以后别傻了,要记住教训,若不是机房技术人品好,恐怕来回让你折腾烦了,给你一拖再拖,网站瘫痪在那时间一久伤不起啊。
下面还是进入正题吧,首先我们来讲一下我们看完此教程后需要完成的目标:
Windows 2008R2+IIS7.5+PHP+Mysql+Wincache+Memcache+URL伪静态环境搭建+并做适当的Discuz优化
整个环境的搭建与测试大致可以分为十部分来
第一步:我们需要安装好一个Windows 2008 R2 操作系统,这一步我想不是我们这个阶段所要考虑的事情,因为很多东西需要机房的技术来配合你来完成。你想做也无法做,所以此步略过!
第二步:安装IIS7.5与FastCGI,因为Windows 2008R2自带环境了IIS7.5与FastCGI,这一点与IIS6.0区别很大,IIS6.0需要自己安装FastCGI.而IIS7.5 自带已集成了FastCGI模块,所以只要安装时只要勾选上CGI模块后,即可装上FastCGI.
第三步:安装MySql 5.5.29,这个不用说了,开源的数据库软件系统,Discuz必不可少。如何配置MySql请看分节教程!
第四步:选择正确的PHP版本,并下载。
如何选择正确的PHP版本
因为本教程会采用MemCache来优化系统,然后一直无法找到与高版本PHP5.4和低版本PHP5.2要匹配的php_memcache.dll 版本,只找到php_memcache.dll for PHP5.3X的版本,因此教程采用PHP 5.3.21版本,这个版本是2013年1月16号刚才出来的!
现在的PHP5.3 For Windows64位一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,参考PHP官网提供下载的地方左边的英文来看看这几个版本有什么区别。
1)、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。
2)、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
先从字面意思上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线 程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效 率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
选择以下这些版本需要注意的是MYSQL在2008R2下可以选择64位的,PHP的VC9是针对IIS的,VC6针对apache的,线程安全和非安全版本本次选择的是线程安全版本, PHP线程安全版本无法加载wincache,所以我们用Xcache作为替代,如果想用wincache就选用非线程安全版本,
综上所述我们根据官方最新发布的版本,我们还是选择最适用于我们的版本:
PHP 5.3 (5.3.21) VC9 x86 Non Thread Safe (2013-Jan-16 21:42:34)
第五步:安装Visual C++ 2008 X64运行库,很多人安装PHP环境时,经常不成功。很纳闷,为什么按照网上教程来一步一步操作就是不成功,原因就出在此,明明正确配置好了php.ini 确无法运行php环境,但是如果你打开应用程序日志就可以发现php-cgi.exe这个文件报错,就不难理解了,因为PHP5.3版本是以Visual C++ 2008环境下编译的,所以如果要正确运行PHP5.3以上版本,就必须安装此运行库.