win2008 R2 下 IIS7.5+PHP5.2.17+Mysql5.5.16+Zend3.3.3


本文整理自网络,侵删。

前言

windows Server 2008 R2 下面IIS7.5已经对fastcgi的支持有了很大改进,还在使用PHP-ISAPi模式的朋友可以试一下。

鉴于目前php5.3.1还不能完美的支持主流php系统,不建议大家使用!

Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非
线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。

从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由
于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果
在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。
一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个
问题,很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就
会出错搞垮IIS。因此在IIS下CGI模式才是PHP运行的最安全方式,但CGI模式对于每个HTTP请求都
需要重新加载和卸载整个PHP环境,其消耗是巨大的。

为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解决方案。FastCGI可以让PHP的进程重
复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决
了CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。

因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用
FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)
的版本能够更好的提高效率。

windows2008 Server R2下面环境搭建分三种情况,大家可以根据自己的运行需要选择。

1、 IIS7.5+PHP+Mysql+Wincache 1.0RC

这个环境组合大家已经看出来了 没有zend。

各个版本分别是:

PHP5.2.17–请注意是非线程安全版本 PHP 5.2.17 Non-thread-safe zip package,

MYSQL5.0 x64,

Wincache1.0rc for5.2,这个大家可以去微软IIS官方下载,他将极大地提高您的系统运行效率!

如果您的服务器运行的都是开源程序,不需要zend,强烈建议您使用这个配置!

2、 IIS7.5+PHP+Mysql+Zend+Xcache

此组合版本分别是:

Php-5.2.17-win32-vc6-x86.zip PHP请注意是线程安全版本

mysql-essential-5.0.91-winx64.msi

ZendOptimizer3.3.3-windows x86

Xcache1.3 for XCache-1.3.0-php-5.2.17-Win32-VC6-x86.zip

此组合可以完美运行当今主流的PHP系统,但是美中不足的是使用PHP线程安全版本无法加载wincache,很遗憾的一点!但是可以用xcache作为补充,但是相比PHP-ISAPI模式已经好多了!

3、 鉴于IIS7.5的新特性,可以根据每个站点的具体情况定制属于他的专有运行环境!

在iis7.5 fastcgi模式下,IIS官方建议为每个站点设立单独的应用池,并且每个站点都可以拥有它自己的PHP.ini以及fastcgi.exe.允许在一台主机上运行不同版本的PHP.[1]

[1]以上部分内容引自网络.

[2] Windows 2008 R2 仅有X64版本/Windows 2008有X86和X64版本/Windows 7有X86和X64版本; 以下教程对前面两个X86版本也能支持,仅需要替换MYSQL对应版本即可.

准备程序

选择以下这些版本需要注意的是MYSQL在2008R2下可以选择64位的,PHP的VC9是针对IIS的,VC6针对apache的,线程安全和非安全版本本次选择的是线程安全版本, PHP线程安全版本无法加载wincache,所以我们用Xcache作为替代,如果想用wincache就选用非线程安全版本,

1.mysql-essential-5.0.91-winx64.msi
2.Php-5.2.17-win32-vc6-x86.zip
3.ZendOptimizer-3.3.3-windows-i386.exe
4. Xcache1.3 .2for-php-5.2.17-Win32-VC6-x86.zip
5.phpMyAdmin-3.3.10.-all-languages.zip

安装配置路径规划
MYSQL D:\service\ MYSQL
PHP D:\service\ PHP
Zend D:\service\ Zend
MYSQLdatebase D:\service\ MYSQLdatebase
WEB目录D:\WEB\ZTGPS

以下教程为完全说明,做过部分优化,完全经过测试,主调试环境Windows 2008 R2 SP1服务器已安装组件NET.FROMWORK 4+VC2008X64,教程有不当之处欢迎探讨.

一、安装配置MySQL

二、安装配置IIS7.5

三、安装配置PHP

四、IIS7.5配置FASTCGI

五、安装ZendOptimizer 

六、Xcache安装配置

七、网页压缩配置

八、配置phpmyadmin

九、EmpireBak v2010 帝国备份

十、静态化安装配置

十一、其它事项

一、安装配置MySQL

(1),双击 mysql-essential-5.0.91-winx64.msi

NEXT


选择 Custom 自定义安装:

Next

点击"Change"更改MySQL安装目录:D:\service\ MYSQL
待文件复制安装完毕后,进行MySQL设置界面,单击Finish

NEXT

出现以下选择

选择DetailedConfiguration(详细配置):

NEXT

出现以下选择

选择MySQL运行模式:Server Machine

NEXT

出现以下选择

选择 MySQL 数据库默认存储方式:Non-Transactional Database Only
接则选择该选项。 NEXT

出现以下选择

· Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。

设定 MySQL 最大连接数:一般设置为 128 - 512 之间的整数:
NEXT

出现以下选择Enable Strict Mode ,这样MySQL就不会允许细小的语法错误。
建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
NEXT

出现以下选择
使用Manual Selected Default Character Set/Collation(字符集对话框)来更改 MySQL服务器的默认字符集.
这里请选择你所要的默认字符集,中国大陆就选GBK吧
NEXT

出现以下选择

要想将MySQL服务器安装为服务,并自动启动,请选中Launch the MySQL Server Automatically选项

Service name 默认mysql就行

Include Bin Directory in windows Path 这个也选上
NEXT

修改设定 root 用户密码,注意:不要启动远程连接模式!
把Enable root access from remote machines
Create an anonymous account的两处取消选择

NEXT install
完成 MySQL 的安装,会自动启动 MySQL 服务。

(1)测试MySQL工作是否正常。

打开cmd命令提示符窗口,输入命令:MySQL –u root –p

输入密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常。

更改MySQL数据库目录

a)打开cmd命令提示符窗口,输入命令:net stop MySQL停止MySQL服务运行;

b)打开D:\ service\MySQL\my.ini

找到:

Datadir = "D:\ service\MySQL\data"

修改为:

Datadir = "D:\Service\ MySQLDatabase"

c)将D:\Service\MySQL\data文件夹内的内容复制到D:\Service\MYSQLDatabase;

d)打开cmd命令提示符窗口,输入命令:net start MySQL启动MySQL服务。

e)重新测试MySQL是否工作正常。

(3)准备LibMySQL动态链接库

将D:\Service\MySQL\bin\目录下的 libMySQL.dll, libmcrypt.dll, php5ts.dll(如果没有libmcrypt.dll,php5ts.dll这两个文件请到PHP程序目录下提取) 3个文件复制到 C:\Windows\System32

  注:my.ini上面“basedir”是指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录。

至此MySQL已经安装完毕

阅读剩余部分

相关阅读 >>

php加密解密字符串汇总

discuz x1.5 论坛后台站长常用操作小结

discuz!5.0升级discuz5.5的图文教程第12页

php 小心urldecode引发的sql注入漏洞

linux+nginx+mysql下配置论坛程序discuz的基本教程

如何将你的cj联盟帐户做到一个月1万美元

discuz!5的php代码高亮显示插件(黑暗中的舞者更新)

利用xss渗透discuz 6.1.0实战

discuz 跨域整合的记录文件

分离出discuz! 5.0发帖时使用的编辑器与大家分享!

更多相关阅读请进入《Discuz论坛》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...