IIS6+PHP5.3.2配置:
在windows下使用Apache+PHP的,请选择VC6版本;
windows下使用IIS+PHP的,请选择VC9版本

首先要知道的是,那个服务器平台对应PHP那个版本:
1、在windows下使用Apache+PHP的,请选择VC6版本;
2、在windows下使用IIS+PHP的,请选择VC9版本;

第一部分:IIS6+PHP5.3
1.下载 FastCGI For IIS6

第二部分:IIS6+PHP5.3
1.下载 FastCGI For IIS6

http://www.iis.net/expand/fastcgi

打开页面后点右边 download x86 / x64 看看你服务器选择下载

下载之后,双击运行进行安装、

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

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

2.下载 PHP5.3 Windows 版

http://www.php.net/downloads.php

下载 .zip 格式的版本,下载后解压至 D:\PHP 目录,并给 IIS 启动帐户组或用户赋予读取和运行权限、如下图:

你可以根据自己的意愿解压到别的目录

3. 注册 PHP 到 FastCGI

打开 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
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%\system32\inetsrv directory.

我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在加载 fcgiext.dll 时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射、

在 [Types] 下添加以下配置:

[Types]
php=PHP

[PHP]
ExePath=D:\PHP\php-cgi.exe

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

4. 配置 php.ini

将 D:\PHP\php.ini-production 复制一个,然后重命名为 D:\PHP\php.ini

打开 D:\PHP\php.ini,
修改PHP.ini文件:
1)第531行改为:display_errors = On
2)第542行改为:display_startup_errors = On
3)第624行改为:error_prepend_string = "<br><font color=#ff0000>"
4)第630行改为:error_append_string = "</font><br><br>"
5)第813行改为:extension_dir = "D:\php\php_setup_files\php-5.3-vc9\ext\"
6)第854行改为:fastcgi.impersonate = 1
7)从948行到988行根据自己的需要修改
8)第997行改为:date.timezone = asia/Shanghai

其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS、

5. 配置网站

右键网站 => 属性 => 主目录 => 配置 => 添加,如下图配置:

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

6. 写个 php 测试下吧

<?php
phpinfo();
?>

PHP目录权限:IWAM_机器名称(和上图中并没有影响,感觉它的权限更小些,但两种权限都能正常运行)

错误信息:
1、Error Number: 14001 (0x800736b1).
  没有安装Microsoft Visual C++ 2008 Redistributable Package

下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
2、Error Number: 5 (0x80070005).
  Unable to place a FastCGI process in a JobObject. Try disable the Application Pool CPU Limit feature
  取消CPU的监视

3、No input file specified.

估计是没配置 fastcgi.impersonate、

第一步、安装 FastCGI For IIS6
3.2.1、 将下载得到的fcgisetup32.msi,双击运行进行安装、
安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件【如下图所示】

同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler、【如下图所示】

第二步、安装PHP
由于PHP5.3的全新特效及改进,原有的isapi方式解析PHP脚本已经不被支持,PHP从5.3.0以后的版本开始使用微软的fastcgi模式,这是一个更先进的方式,运行速度更快,更稳定!新版本的PHP5.3通过以往老方法已经不能在IIS上安装了,下载IIS下的PHP,(注意IIS下要选择VC9的版本)解压到所需目录,该目录需要给予user读取运行权限,

3.2.2、 下载 .zip 格式的版本,解压缩下载的 php-5.3.0-Win32-VC9-x86.zip 文件,并将其复制到:D:\PHP\php5目录(你可以根据自己的意愿解压到别的目录、),并给 IIS 启动帐户组或用户赋予读取和运行权限、【如下图所示】

D:\PHP\php5目录下的所有dll文件复制到C:\windows\system32下(Windows2000系统为C:\winnt\system32,下同),如果已经有若干同名文件存在,覆盖即可、【如下图所示】

3.2.3、注册 PHP 到 FastCGI
打开 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
; fcgiext.dll. By default, the FastCGI installer will place this file into
; the %windir%\system32\inetsrv directory.

我个人的理解是,只要“Web 服务扩展”里的 FastCGI Handler 为允许时,在加载 fcgiext.dll 时,会读取 fcgiext.ini 配置文件的内容,根据里面的配置为每个网站提供映射、
在 [Types] (约第162行)下添加以下配置:

[Types]

php=PHP
[PHP]
ExePath=D:\PHP\PHP5\php-cgi.exe

这里要用:“\”不能用“/”,“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义、 (选你自己的安装的目录,下同、)

D:\PHP\php5目录下的php.ini-development复制一份,更名为php.ini(还是在当前目录中),再用文本编辑软件打开这个php.ini(建议使用Notepad2、EditPlus、UltraEdit等各种支持语法高亮显示的文本编辑软件)、

3.2.4、 查找:extension_dir = "./" (约第813行)
    将其路径知道你的PHP目录下的扩展功能目录中,这里PHP5对应修改为

extension_dir = "D:/PHP/php5/ext" 、

    再在D:\PHP下建立文件夹,并命名为upload_tmp
    查找 ;upload_tmp_dir = (约第879行)
    将;upload_tmp_dir =该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起作用、
    upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以修改并给其定义一个决定路径,需要注意的是,这里设置的目录必须有读、写权限、
    这里我设置为upload_tmp_dir = "D:/PHP/upload_tmp/" (这里就是我前面建立的文件夹)

     找到:fastcgi.impersonate = 1;约854行这句,把前面的;去掉,
     fastcgi.impersonate = 1
     如下图:

   

找到:short_open_tag= Off;约226行改为
short_open_tag= On

3.2.5、 搜索 ; Windows Extensions,定位到php.ini文件的约942行,将下面列出的常用扩展前面的分号注释符去掉:

; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll

  特别提示:Exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到extension=php_mbstring.dll一行的下面、
  
        注意最后一个php_zip.dll这个在我下载下来的php5.3.0的ext内是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从 PHP5.2中拷贝过去(php5.2.X可以,php5.3.0不行)extension=php_ming.dllphp5.3.0的ext内是也不存在、【如下图所示】

;date.timezone = (约第997行)
去掉前面的分号注释符,这里将其设置为
date.timezone = Asia/Shanghai

找到下面

    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    ; date.timezone =
     更改为并去除前面的“;”:
     [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Asia/Shanghai

如果不改以上的date.timezone可能打开网页会提示500错误

关于时区设定的说明:
从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和我们的时间(北京时间)差了正好8个小时,有以下2种方法可以恢复正常的时间、
1、如果要用5.1以上版本,而且不修改php.ini,则需要在关于时间的初始化的语句的上面加上date_default_timezone_set (XXX),或者使用date('Y-m-d G:i:T', strtotime('+8HOUR') )来获取日期时间;
2、一劳永逸,仅限能修改php.ini、打开php.ini把date.timezone前面的分号去掉,在=后面加XXX,重启http服务(如apache2或iis等)即可、
关于XXX,大陆内地可用的值是:Asia/Chongqing、Asia/Shanghai、Asia/Urumqi(依次为重庆,上海,乌鲁木齐),港台地区可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次为澳门,香港,台北),还有新加坡:Asia /Singapore,以上没有北京,不过接着往下看,其他可用的值是:Etc/GMT-8,Singapore ,Hongkong,PRC(×××)、

3.2.6、 查找:;session.save_path = "/tmp" (约第1466行)
将前面的分号注释符去掉,这里将其设置为
session.save_path = "D:/PHP/upload_tmp" (这里就是我前面建立的文件夹)

3.2.7、 如果你有遇到无法上传较大文件或者运行某些程序经常超时,那么可以修改以下内容来调整相关限额:在大约第440行,
max_execution_time = 30 ; 这个是每个脚本运行的最长时间,根据你的需求更改数值,单位秒
max_input_time = 60 ; 这是每个脚本可以消耗的时间,根据你的需求更改数值,单位也是秒

大约第458行,
memory_limit = 128M ; 这个是脚本运行最大消耗的内存,根据你的需求更改数值,256M、
大约第732行,  
post_max_size =10M   表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.

限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...根据你的需求更改数值,M是单位:兆、
   
大约第883行,
upload_max_filesize = 2M ;上载文件的最大许可大小 ,根据你的需求更改数值,M是单位:兆、在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.

3.2.8、 php.ini文件中基本就是作如上修改,其他的你可以根据自己的具体需求修改,可见附后:PHP5.3.0特除配置、然后将该文件保存,再复制一份到C:\Windows下面、如果PHP5是装在C盘,因这个"备份"文件的存在,会干扰了FastCGI的运行,只有把 C:\php\php.ini 删除,不删除有时IIS报500错!

3.2.9、 配置网站
打开IIS管理器,网站上点右键-属性-主目录-配置-添加,配置如下图

可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
先运行D:\PHP\PHP5\php-cgi.exe如果能进入命令窗口并只有光标,说明FastCGI能正常调用php-cgi,否则会提示错误,这点对使用微软的fastcgi模式很重要;

3.2.10、写个 php 测试下吧

修改完在IIS上或者命令提示符运行iisreset命令重启IIS服务,这步很重要!
测试是否安装成功!
建立一个网站,phpinfo.php文件内容为:
文件:phpinfo.php

<?php
phpinfo();
?>

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

3.2.11、安装过程出现小插曲,如果运行测试文件出现如下提示:

先运行D:\PHP\PHP5\php-cgi.exe如果能进入命令窗口并只有光标,说明FastCGI能正常调用php-cgi,再找以下错误解决方法,很重要、

错误1,
FastCGI Error
The FastCGI Handler was unable to process the request.
Error Details:
The FastCGI process exited unexpectedly
Error Number: -2147467259 (0x80004005).
Error Description: 未指定的错误
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

搜索: register_globals = Off (约第705行)
将Off更改为 On,该行的注释符,即前面的分号”;”去掉,使该行在php.ini文档中起作用,即得到 register_globals = On ;
    

注:这个对于PHP的全局变量功能,考虑有很多PHP程序需要全局变量功能所以打开,打开后请注意PHP程序的严谨性,如果不需要全局变量功能,或者出错,请保持默认Off状态、    

错误2,
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启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.

错误3,
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Could not find entry for "php" on site 1960240566 in [Types] section.
Error Number: 1413 (0x80070585).
Error Description: 未指定的错误
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

即说明没有安装成功!请按照fcgiext.ini 修改配置即可!!

错误4,
----------
FastCGI Error

The FastCGI Handler was unable to process the request.

Error Details:

The FastCGI process exited unexpectedly
Error Number: -1073741819 (0xc0000005).
Error Description: Unknown Error
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
--------
我的PHP目录在C盘
当时配置PHP.INI的时候就在那个安装目录编辑好,再复制到windows目录下的...
结果恰恰是C:\PHP\php.ini 这个"备份"文件的存在 干扰了FastCGI的运行,总是提示我、
把 C:\php\php.ini 删除,搞定!
随后用FakeCGI调试工具才搞定原因..
感谢FakeCGI,痛斥我的坏习惯!!!

3.2.12、PHP5.3.0特除配置

一,如何正确调整上传附件大小限制?
修改 php.ini (Windows 系统在 C:/Windows/system32 下)中的下面几项:
1. post_max_size =10M
表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.
限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...

2.file_uploads = On 
是否允许上传文件,如果为OFF您将不能上传文件.

3.upload_tmp_dir = "C:\Server_Core\php\upload_tmp\" 
上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件.

4.upload_max_filesize =2M
最大上传文件大小,此项针对上传文件时单个文件的大小.
与post_max_size之间的关系:
在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.
修改之后一定要重启 Web 服务、
注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.

二,EXIF信息服务器配置说明:

1.在php.ini文件中找到;extension=php_mbstring.dll,去掉前面的分号

2.在php.ini文件中找到;extension=php_exif.dll,去掉前面的分号,并将此行移动到extension=php_mbstring.dll,之后、

3.找到[exif]段,把下面语句的分号去掉

;exif.encode_unicode = ISO-8859-15
;exif.decode_unicode_motorola = UCS-2BE
;exif.decode_unicode_intel   = UCS-2LE
;exif.encode_jis =
;exif.decode_jis_motorola = JIS
;exif.decode_jis_intel   = JIS

转载于:https://blog.51cto.com/edsoki/543337

win2003服务器iis6.0环境下php5.3.2安装配置相关推荐

  1. XP系统连接不到sql 服务器,Window XP 环境下SQL Server2008局域网连接配置

    数据库配置步骤如下: 1.如果安装的时候已经选择"混合模式(SQL Server身份验证和Windows身份验证)(M)",并且已经为SQL Server系统管理员分配了账户和密码 ...

  2. centos7 mysql5.6.34_CentOS7.0环境下MySQL5.6.34安装教程

    5.6.34的安装包是从MySQL官网下载的rpm包,文件名如下:MySQL-5.6.34-1.el7.x86_64.rpm-bundle.tar,这个就不做过多的解释了,需要的可以自行从官网下载. ...

  3. Canopy环境下pytesser库的安装配置

    最近对Python验证码的处理产生了兴趣,就从网上找了一个最简单的源码. 但是from pytesser import * 这一步是遇到了麻烦,在说之前先介绍下我的Python环境. 我用的是32位的 ...

  4. mysql安装了老版本_Windows 环境下 MySQL 5.7 安装配置指南

    安装环境 Windows 版本:Windows 10 专业版 64bit MySQL 版本:MySQL 5.7.16 Tip 在安装 MySQL 前请务必确认自己电脑的 net 指令是正常工作的.有些 ...

  5. mysql 5.1.73路径_centos7.2 环境下 mysql-5.1.73 安装配置

    安装mysql,安装前准备 如果mysql用户不存在,那么添加mysql用户 groupadd mysql useradd -g mysql mysql mysql编译安装 tar -zxvf mys ...

  6. 【开发工具】Windows环境下 IDEA 开发工具安装配置(无错完整)

    目录 一.开发工具下载: 二.IDE统一管理工具: 三.IDEA配置: 设置主题: 设置代码颜色: 设置编译字符编码(全部设置为UTF-8): 开启模糊匹配: 设置背景壁纸: 自动导包移包: 方法分割 ...

  7. win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置

    win2003下APACHE2.050+PHP5+MYSQL4.0.20+PHPMYADMIN2.57 的简易安装配置 先从各官方网站下了APACHE2.050.PHP5.MYSQL4.0.20.PH ...

  8. Linux 环境下php5.6,如何正确安装微软Mssql驱动--详细教程

    Linux 环境下,如何正确安装微软Mssql驱动 近日,由于公司业务的需要,需要用到PHP连接一个客户的Mssql服务器.于是,开始一番折腾之路.Baidu与Google之后,发现,网上说的各种方法 ...

  9. 服务器集群环境下session的共享问题

    一,集群和分布式的区别 在进入今天的正题之前,对服务器集群和分布式服务器这两个概念进行简要说明. 服务器集群:服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器. ...

最新文章

  1. 异常处理(try/catch)
  2. 纯Shading Language绘制飞机火焰效果
  3. 华为LINUX转换NTFS格式,linux中生成考核用的NTFS文件系统结构样例(一)
  4. python生成日历_使用Python实现简易月历生成(2)
  5. 【CF1307F】Cow and Vacation(并查集+lca倍增)
  6. 【堪萨斯州立大学】电子和计算机工程系智能能源研究室、硬件安全实验室招募博士,提供多个全额奖学金机会...
  7. 【JVM】GC Roots 根可达
  8. Struts2 之 对xwork的理解
  9. cosin等于多少_cos0等于多少?
  10. 【Java小项目】简单的天气预报
  11. Java求一个数的质因数
  12. 51Nod-1013 3的幂的和【快速模幂+逆元】
  13. EyeQ Ultra 芯片 面向自动驾驶
  14. Matlab画图和点标记
  15. 如何卸载 Adobe Creative Cloud 桌面应用程序
  16. MATLAB读取MIT心电信号
  17. Webpack 配置: 自定义网站图标 favicon
  18. 小区水电费管理系统-水电费收费管理系统-社区物业水电缴费管理系统代码
  19. 如何恢复win10账户的默认半透明头像
  20. jQuery 模态框

热门文章

  1. python--属性魔法方法
  2. 40.lombok在IntelliJ IDEA下的使用
  3. 可伸缩系统的设计模式(译)
  4. Linux---管理网络
  5. thinkphp-条件判断-范围判断-range标签
  6. 如何实现在H5里调起高德地图APP?(下)
  7. Python设置环境变量,改变GnomeConnectionManager的语言
  8. qq图片选择效果的处理
  9. 【翻译】ASP.NET WEB API异常处理
  10. SAP事务码f-02做账界面显示“页数”字段