|
上次购买了win2008R2 vps后简单找了个傻瓜型的php装上了,虽然也能用但是发现程序运行日志好多php运行错误,也许是心理原因作祟总是觉得打开时候不是那么利索,总是好像什么地方别别妞妞的,今天晚上9点到11点又研究了两个小时,终于一解这段时候一直笼罩在心头的技术难题,wincache平台终于运行的行云流水,至少现在看效果确实非常不错,比之前用的ZendOptimizer3.3.3加速器有了明显提高。
前几天在平台上安装wincache-1.1.0-5.2-nts-vc9-x86,当时用的php版本是5.2.17,应该也是一个不错的经典版本,结果居然全部是500错误提示,查看了一些人发布的论坛说是wincache同zend加速器有冲突,不过我试了时候还是500错误,最后又看了很多资料,据说是php版本问题,与wincache配合最好的有说是PHP5.3
PHP5.3的版本选择
现在的PHP5.3 For Windows64位一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,参考PHP官网提供下载的地方左边的英文来看看这几个版本有什么区别。
一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。
二、如何选择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版本,下面开始我们的IIS7.5+PHP+MySQL的配置过程
1 IIS7.5+PHP+Mysql+Wincache+URL伪静态
这个环境组合大家已经看出来了 没有zend,
各个版本分别是:
PHP5.3.12 请注意是非线程安全版本: php-5.3.12-nts-Win32-VC9-x86.zip,(我们在下文中简称php nts版本)
MYSQL5.2.23 x64,
Wincache1.1.0 for5.3,这个大家可以去微软IIS官方下载,他将极大地提高您的PHP系统运行效率!
如果您的服务器运行的都是开源程序,不需要zend,强烈建议您使用这个配置!
2 IIS7.5+PHP+Mysql+Zend+Xcache+URL伪静态
此组合版本分别是
PHP5.3.12 请注意是线程安全版本:php-5.3.12-ts-Win32-VC9-x86.zip(我们在下文中简称php ts版本)
MYSQL5.2.23 x64,
ZendOptimizer3.3.3-windows x86
Xcache2.0 for php5.3-nts-Win32-VC9-x86.zip
此组合可以完美运行当今主流的PHP系统,但是美中不足的是使用PHP线程安全版本无法加载wincache,很遗憾的一点!但是可以用xcache作为补充,但是相比PHP-ISAPI模式已经好多了!
一、软件环境准备
说明:下载地址为官方下载链接,软件有更新可能不适合本文。附件提供下载包。
Visual C++ 2008(win2008r2sp1已经自带)
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=2051A0C1-C9B5-4B0A-A8F5-770A549FD78C
php-5.3.12-nts-Win32-VC9-x86.zip
http://windows.php.net/download/
mysql-5.5.23-winx64.msi
http://www.mysql.com/downloads/mysql/
PHPManagerForIIS-1.2.0-x64.msi
http://phpmanager.codeplex.com/releases/view/69115
ZendOptimizer+
http://www.zend.com/en/products/guard/downloads
URL Rewrite Module2.0
http://www.iis.net/download/URLRewrite
wincache-1.1.0-5.3-nts-vc9-x86.exe
http://www.iis.net/download/WinCacheForPhp
二、安装配置步骤
2.1、安装MYSQL
详细安装过程见http://www.discuz.net/thread-1796583-1-1.html
本文没有系统约定,所以MYSQL直接选用[Typical]标准安装方式,
字符集建议选用GBK,因为适合GBK字符的模版和插件最多。
完成安装,打开cmd命令提示符窗口,输入命令:mysql –u root –p
输入刚才安装时设置的密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常。
2.2、安装IIS7.5和CGI
win2008r2主机打开服务器管理器-添加角色-Web 服务器(IIS),再勾选CGI后安装。
win7主机打开控制面板-程序和功能-打开或关闭Windows功能-选中Internet信息服务选框和应用程序开发功能中的CGI选框,确定安装。
2.3、安装PHPManager
PHPManager安装过程简单,直接双击安装至完成。
打开控制面板-管理工具-Internet 信息服务(IIS)管理器,PHP Manager已存在IIS功能列表中
2.4、安装PHP5.3.26
安装php前先安装 Visual C++ 2008 x86再继续。(Win2008R2 SP1省略这一步)
解压php-5.3.26-nts-Win32-VC9-x86.zip,例如解压目录为c:bsphp
打开PHPManager如下图
点击"Register new PHP version"选择已解压c:bsphp目录下的php-cgi.exe,"Configure error reporting"选择"Prodution machine"
点击“Check phpinfo()”查看PHP安装信息。
PHP Manager功能丰富,自动安装php并监视php.ini,参数配置可视化,修改php.ini方便且不需重起IIS。
PHP5.4.0默认参数下,即可完美运行Discuz!X,十分方便。
也可根据需要改动php.ini参数
例如开启exif功能和修改上传文件大小限制
因为php_exif.dll要在php_gd2.dll之前加载,所以先关闭php_gd2.dll然后开启php_exif.dll再开启php_gd2.dll
打开PHP Manager中的"Enable or disable an extension" ,
先找到php_gd2.dll并Disable后再找到php_exif.dll并Enable,最后再找到php_gd2.dll并Enable
PHP5.4.0默认上传文件大小限制为2M
在PHP Manager中打开"Manager all setting"找到upload_max_filesize修改后面的值即可,注意不要忽略单位。
按照DZ官方安装指示,需要禁用php的一些功能,
在PHP Manager中打开"Manager all setting" 找到:
disable_functions=
添加以下值
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
然后再点击PHPManager中的Check phpinfo () ,查看以上信息是否已成功修改。
2.5、安装wincache
双击 wincache-1.1.0-5.3-nts-vc9-x86.exe 指定一个目录解压文件
找到解压文件夹中的php_wincache.dll并复制到PHP5.3.12目录下的ext文件夹内,
接着在php.ini中的最后面,添加以下参数。
extension = php_wincache.dll
配置完后,保存php.ini然后重启服务器即可。通过phpinfo函数可以查看wincache组件的参数安装情况。
安装wincache后 网站测速 提速至少10倍!
PHP 5.3是 微软和PHP 一起开发的版本,windows下用wincache和php 5.3是最般配的一对
复制php.ini到windows下,测试正常 搞定收工