Windows Server 2003服务器上IIS6.0拥有转发PHP的能力/IIS6.0与PHP共用80端口
2014-03-12 00:00
246 查看
第一步:
分析下系统环境
Windows server 2003 32bit;
IIS6.0; ms sql server 2005 mysql
第二步:所用到的工具:
fcgisetup_1.5_rtw_x86.msi
php-5.3.6-nts-Win32-VC9-x86.msi
相应下载地址:
Fcgisetup:
http://www.iis.net/download/fastcgi、
PHP:
http://windows.php.net/download/
相关说明:
PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
首先我来解答:
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在
windows下使用IIS+PHP的,请选择VC9版本;
那Non Thread Safe是什么?
Non Thread Safe就是非线程安全;
Thread Safe 是什么?
Non Thread Safe 是线程安全;
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI(无论搭配IIS 6 或IIS 7)执行PHP ,都建议下载、执行non-thread safe 的PHP (PHP 的二�位�有��包�方式:msi 、zip ,�下�zip 套件)所以我们
选择NO-Thread Safe 版本的PHP来使用。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
内容参考:
http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html
第三步:安装方法:
首先安装:FastCGI安装完毕之后(如果电脑己安装这个就进行第二步)
安装后在C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:
fcgiext.dll�fastcgi处理程序
fcgiext.ini�配置文件
fcgiconfig.js�FastCGI的控制脚本
同时在IIS的“Web服务扩展”里多了FastCGI Handler。
相关知识:
我们知道php配置有几种:
1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。
2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。
3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是:
高效率,高稳定性,属于将来发展趋势。
我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。
我用的就第三种,也是最好最快的,因为
FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,
并具有更高的稳定性和安全性.
安装PHP5.3 我选择择了默认路径C:\Program Files\PHP\
注册
PHP
到
FastCGI
两种方法:
1.
全命令行:
开始-运行-cmd-cd
转到刚才安装FastCGI的目录下:
>cd C:\WINDOWS\system32\inetsrv
>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
注意:path:"xxxx\php-cgi.exe”是你安装php的目录
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
效果图:
这种方法我在第二步:输入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 结果返回不成功。但我没有管也把剩下的命令也执行了。
如果这种方法不出错那就说明己可以了,但我又找到一种手动配制的方法,并且成功
2.
手动注册:
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
我个人的理解是,只要“Web 服务扩展”里的FastCGI Handler 为允许时,在加载fcgiext.dll 时,会读取fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。
在[Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-5.2.14-Win32\php-cgi.exe
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
C.开始配制网站
在IIS里面来配制网站的具体方法我就不多说了,很傻瓜式的。但要改点东西:
右键网站=> 属性=> 主目录=> 配置=> 添加,如下图配置:
可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
差不多到这儿,整个过程己结束。但我还是�嗦下关于PHP与Mysql结合的问题。这可也能是很多起初想让IIS拥有解析PHP能力的构想者所担心的问题。到时候怎么配数据库啊。……
我一开始也是这样想的, 但我问了几个学长,他们都有说。webserver 与数据库是两个概念,不用去担心数据库,你平时什么语言的网站怎么配数据库,在这里面还是一样。所以Mysql的数据库配置字符串修改位置:./inc/sqlconnect.php
在说明点。Mysql数据库是文件型的数据库,他的文件附加就是拷贝后缀名为:.frm .MYD.MYI 这样的文件到Mysql安装目录里的data文件下。建个文件夹就OK
参考一:
http://www.cnblogs.com/shanyou/archive/2010/11/07/1871262.html
参考二:
http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html
作者阿豆工作室刘元军,博主只负责在这里与大家知识共享~
分析下系统环境
Windows server 2003 32bit;
IIS6.0; ms sql server 2005 mysql
第二步:所用到的工具:
fcgisetup_1.5_rtw_x86.msi
php-5.3.6-nts-Win32-VC9-x86.msi
相应下载地址:
Fcgisetup:
http://www.iis.net/download/fastcgi、
PHP:
http://windows.php.net/download/
相关说明:
PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。
首先我来解答:
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在
windows下使用IIS+PHP的,请选择VC9版本;
那Non Thread Safe是什么?
Non Thread Safe就是非线程安全;
Thread Safe 是什么?
Non Thread Safe 是线程安全;
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI(无论搭配IIS 6 或IIS 7)执行PHP ,都建议下载、执行non-thread safe 的PHP (PHP 的二�位�有��包�方式:msi 、zip ,�下�zip 套件)所以我们
选择NO-Thread Safe 版本的PHP来使用。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
内容参考:
http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html
第三步:安装方法:
首先安装:FastCGI安装完毕之后(如果电脑己安装这个就进行第二步)
安装后在C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:
fcgiext.dll�fastcgi处理程序
fcgiext.ini�配置文件
fcgiconfig.js�FastCGI的控制脚本
同时在IIS的“Web服务扩展”里多了FastCGI Handler。
相关知识:
我们知道php配置有几种:
1、CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。
2、ISAPI方式加载PHP环境,通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。
3、FastCGI方式加载PHP环境,在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。
特点是:
高效率,高稳定性,属于将来发展趋势。
我试过其他的特别麻烦,PHP 5.3发布的Windows版已经不支持ISAPI模式了,所以我打算按微软推荐的FastCGI方式运行PHP。
我用的就第三种,也是最好最快的,因为
FastCGI大大加强了IIS处理PHP的能力,能迅速提高PHP站点的反应速度和生产力,
并具有更高的稳定性和安全性.
安装PHP5.3 我选择择了默认路径C:\Program Files\PHP\
注册
PHP
到
FastCGI
两种方法:
1.
全命令行:
开始-运行-cmd-cd
转到刚才安装FastCGI的目录下:
>cd C:\WINDOWS\system32\inetsrv
>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
注意:path:"xxxx\php-cgi.exe”是你安装php的目录
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
效果图:
这种方法我在第二步:输入:cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe" 结果返回不成功。但我没有管也把剩下的命令也执行了。
如果这种方法不出错那就说明己可以了,但我又找到一种手动配制的方法,并且成功
2.
手动注册:
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件。
; This is the configuration file for the FastCGI handler for IIS 6.0.
; The FastCGI handler will look for this file in the same directory as
我个人的理解是,只要“Web 服务扩展”里的FastCGI Handler 为允许时,在加载fcgiext.dll 时,会读取fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。
在[Types] 下添加以下配置:
[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-5.2.14-Win32\php-cgi.exe
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
C.开始配制网站
在IIS里面来配制网站的具体方法我就不多说了,很傻瓜式的。但要改点东西:
右键网站=> 属性=> 主目录=> 配置=> 添加,如下图配置:
可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
差不多到这儿,整个过程己结束。但我还是�嗦下关于PHP与Mysql结合的问题。这可也能是很多起初想让IIS拥有解析PHP能力的构想者所担心的问题。到时候怎么配数据库啊。……
我一开始也是这样想的, 但我问了几个学长,他们都有说。webserver 与数据库是两个概念,不用去担心数据库,你平时什么语言的网站怎么配数据库,在这里面还是一样。所以Mysql的数据库配置字符串修改位置:./inc/sqlconnect.php
在说明点。Mysql数据库是文件型的数据库,他的文件附加就是拷贝后缀名为:.frm .MYD.MYI 这样的文件到Mysql安装目录里的data文件下。建个文件夹就OK
参考一:
http://www.cnblogs.com/shanyou/archive/2010/11/07/1871262.html
参考二:
http://www.cnblogs.com/zengxiangzhan/archive/2010/03/05/1679286.html
作者阿豆工作室刘元军,博主只负责在这里与大家知识共享~
相关文章推荐
- Windows Server 2003服务器上IIS6.0拥有转发PHP的能力/IIS6.0与PHP共用80端口
- Windows Server 2003服务器IIS6.0解析JSP/IIS6.0与JSP共用80端口
- Windows Server 2003服务器IIS6.0解析JSP/IIS6.0与JSP共用80端口
- 利用Apache端口转发实现虚拟主机服务器php+jsp共用80端口
- 搭建 Windows Server 2003 + IIS6.0 + FastCGI + PHP5.3.29 + MySQL5.5.38 + Memcached1.2.6
- 配置Windows Server 2003服务器IIS6.0的https服務
- 再战PHP:在windows server 2003环境下Apache2.2.14配置PHP5.2.12,服务器重启失败
- 配置Windows Server 2003服务器IIS6.0的https服?
- windows server 2003中IIS6.0 搭配https本地测试环境
- Windows Server 2003网络服务器安全攻略
- WindowsServer2003 + IIS6.0 + ASP + NET + PHP + PERL + MSSQL + MYSQL 最新服务器安全设置技术实例
- windows server 2003 上“您要访问的网页有问题,无法显示。HTTP 500 - 内部服务器错误。”的问题解决方案!
- Windows Server 2003 使用vSphere5.5连接ESXI5.5 “客户端无法向服务器发送完整的请求” 的解决办法
- Windows Server 2003 FTP服务器配置详解 2009-12-10 14:23:36| 分类: 服务器 | 标签: |字号大
- windows7系统远程连接windows server 2003服务器
- 在Windows Server 2003系统中为Web服务器申请证书
- Windows Server 2003服务器安全设置