iis6扩展php_Windows 2003+IIS6+PHP5.4.10配置PHP支持空间的方法

简介:一般在已经安装iis的windows系统上已经默认支持了asp及aspx,那么下面主要讲解如何让其也支持php并且支持MYSQL数据库。

特别声明:【如果是选择PHP5.4.10安装版则可以省略此步骤,因为它自动添加了配置,但是由于PHP5.4.10没有安装版,所以只能自己配置,自己配置难度较大,我最终选择的是PHP5.3.20版本

但以下部分我也把PHP5.4.10手动配置给写了出来,供网友参考】

第一部分:、首先你要到网址http://windows.php.net/download/下载PHP For Windows

版本,你会看到这里有很多不同的版本可以下载,那么该如何选择呢?第一个选择是首先选择最新的版本,我们看到现在最新的版本是PHP 5.4

(5.4.10),好那么我们就下载PHP5.4.10版本。

①如何选择PHP5.4.10的VC6版本和VC9版本

VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。

VC9版本是使用Visual

Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。

选择的原则:1。在windows下使用Apache+PHP的,请选择VC6版本;

2。在windows下使用IIS+PHP的,请选择VC9版本;

②如何选择PHP5.4.10的Thread Safe版本和Non Thread Safe版本

从字面上理解,Thread

Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non

Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

第二部分:、再来看PHP的两种执行方式:ISAPI和FastCGI。

ISAPI(Internet Server Application

Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread

Safe版本;

FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non

Thread Safe版本。

FastCGI已经集成于IIS7也支持IIS6,在IIS6中的安装方法以下详述。

------------------------------------------------------------------------------

注意:

①PHP5.4.10

是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP5.4.10下载解压后的文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll。

②PHP程序从PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,所以PHP5.4.10

当然就更没有php5isapi.dll了,这也是有的网友为什么在PHP5.4.10 中找不到php5isapi.dll的原因。

③我们有没有什么办法让PHP5.4.10

在IIS里运行的呢?当然有了,那就是使用FastCGI。据说它的效率很高,

④为什么FastCGI的执行效率会很高呢?那是因为FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率

第三部分: Windows

2003环境下搭建PHP5.4.10教程

1.下载 FastCGI For IIS6

下载页面为:

a4c26d1e5885305701be709a3d33442f.png

下载的文件为FastCGIIIS6.26FastCGIIIS6.exe,下载之后,双击进行安装,出现如下图所示的画面:

安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图:

a4c26d1e5885305701be709a3d33442f.png

同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler。

a4c26d1e5885305701be709a3d33442f.png

2.下载PHP 5.4 (5.4.10)

到网址http://windows.php.net/download/下载PHP For Windows 版本VC9 x86 Non Thread Safe

(2012-Dec-20

00:23:45)下载后解压,解压后拷贝到安装目录(我的安装目录是C:\PHPServer\PHP)。

3. 注册 PHP 到 FastCGI

我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在加载 fcgiext.dll

时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射。

打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件

在文件最后加上下面的语句:

[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)

php=PHP

[PHP]

ExePath=C:\PHPServer\PHP\php-cgi.exe

InstanceMaxRequests=10000

ActivityTimeout=600

RequestTimeout=600

EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:E:\PHP\

“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。

4. 配置 php.ini

PHP5.4.10安装目录下是没有PHP.ini这个文件的,只有php.ini-development和php.ini-production,我们将C:\PHPServer\PHP\php.ini-development复制一个,然后重命名为 C:\PHPServer\PHP\php.ini(当然如果你怕有错可以先备份一下)。

打开 C:\PHPServer\PHP\php.ini,

修改PHP.ini文件:

1。查找display_errors改为:display_errors = On

2。查找display_startup_errors改为:display_startup_errors = On

3。查找error_prepend_string改为:error_prepend_string =

"

color=#ff0000>"4。查找error_append_string改为:error_append_string =

"


"

5。查找extension_dir改为:extension_dir =

"C:\PHPServer\PHP\ext\"

6。查找fastcgi.impersonate改为:fastcgi.impersonate = 1

7。下列代码按下修改,在Windows Extensions中去除扩展前面的分号(;):

; Windows Extensions

; Note that ODBC support is built in, so no dll is needed for

it.

; Note that many DLL files are located in the extensions/ (PHP 4)

ext/ (PHP 5)

; extension folders as well as the separate PECL DLL download (PHP

5).

; Be sure to appropriately set the extension_dir directive.

;

;extension=php_bz2.dll

;extension=php_curl.dll

;extension=php_fileinfo.dll

extension=php_gd2.dll

;extension=php_gettext.dll

;extension=php_gmp.dll

;extension=php_intl.dll

;extension=php_imap.dll

;extension=php_interbase.dll

;extension=php_ldap.dll

extension=php_mbstring.dll

;extension=php_exif.dll ; Must be after mbstring as it depends on it

extension=php_mysql.dll

extension=php_mysqli.dll

;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client

;extension=php_oci8_11g.dll ; Use with Oracle

11gR2 Instant Client

;extension=php_openssl.dll

extension=php_mcrypt.dll

extension=php_pdo.dll

;extension=php_pdo_firebird.dll

;extension=php_pdo_mysql.dll

;extension=php_pdo_oci.dll

;extension=php_pdo_odbc.dll

;extension=php_pdo_pgsql.dll

;extension=php_pdo_sqlite.dll

;extension=php_pgsql.dll

;extension=php_pspell.dll

;extension=php_shmop.dll

可以看出主要是去掉前面的“;”号

8。查找date.timezone改为:date.timezone = PRC

修改完记得重启 IIS。

5. 配置网站【如果是安装版的此步骤也可以省略,例如PHP

5.3.20就可以下载到安装版,

因为安装版自动添加了!】

右键网站 => 属性 => 主目录

=> 配置 => 添加,如下图配置:

a4c26d1e5885305701be709a3d33442f.png

可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll

全部配置好了,一定要把IIS服务重启一下。

6. 新建一个 phpinfo.php 文件,内容为:

phpinfo();

?> 打开IE浏览器,输入:http://www.domain.com/phpinfo.php

如果能够正常显示PHP支持信息则表明配置整合是成功的。

7.配置PHP后,运行phpinfo.php程序,出现如下的错误提示。

FastCGI Error

The FastCGI Handler was unable to process the request.

--------------------------------------------------------------------------------

Error Details:

Error Number: 5 (0x80070005).

Error Description: 拒绝访问。

HTTP Error 500 - Server Error.

Internet Information Services (IIS)

原来是没有赋予用户相应权限,注意这里是给“PHP安装目录”赋权,给“IIS 启动帐户组或用户赋予读取和运行权限”

给此目录增加一个“IIS 启动进程帐户”,方法如下:

“安全”标签,“添加”,“高级”,“立即查找”,“Network

Server”,“确定”即可,就给目录加上了IIS启动帐号。

看到类似以下效果说明你的服务器可以跑 php 了。

a4c26d1e5885305701be709a3d33442f.png

使用 Windows

2003+IIS6+PHP5.4.10配置PHP支持空间的方法所创建的Discuz 2.5也正常使用,一切OK!见下图

a4c26d1e5885305701be709a3d33442f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值