php从5.3开始不支持isapi,统一用fastcgi方式。
1、iis安装
具体参考:https://zhangnq.com/2786.html2、安装IIS FastCGI
下载地址:http://www.iis.net/download/fastcgi。选择 x86或者download x86,下载下来名称为 fcgisetup_1.5_rtw_x86.msi。安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm
这个时候在IIS6的"WEB服务扩展"里就多出了一个FastCGI Handler。
3、下载PHP 5.3
地址:https://windows.php.net/downloads/releases/archives/
例如:
- https://windows.php.net/downloads/releases/archives/php-5.3.29-Win32-VC9-x86.zip
4、安装PHP
将下载的PHP解压放到c盘,例如:C:\php53。完成上面的步骤后,将C:\php53目录下的php.ini-production文件复制一份,改名为php.ini。
5、配置和修改内容
a. 环境变量修改
我的电脑->属性->高级->环境变量->系统变量,在Path的最后面中加上c:\php53
b. FastCGI安装目录内的修改(注册PHP到FastCGI)
打开C:\WINDOWS\system32\inetsrv\fcgiext.ini文件,在文件最后加上下面的语句:
[Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以。)
- php=PHP
- [PHP]
- ExePath=c:\php53\php-cgi.exe
- InstanceMaxRequests=10000
- EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
- ActivityTimeout=3600
- RequestTimeout=3600
c. 建一个文件夹命名为TMP,位置随意,我这里放在c:\php53\tmp。 (upload_tmp_dir会用到,upload_tmp_dir是用来定义上传文件存放的临时路径,这里可以修改并给它定义一个绝对路径,同时需要 有读、写权限)。用搜索(快捷键:Ctrl+F)的方式把下面的关键字改成现在的值:
short_open_tag = Off (这个它本来默认就是这样我们就不要改了。)
把;upload_tmp_dir =改为upload_tmp_dir="c:\php53\tmp"
把;cgi.force_redirect = 1改为cgi.force_redirect=0
把;fastcgi.impersonate = 1;改为 fastcgi.impersonate=1;
把; extension_dir = "ext"改为extension_dir="c:\php53\ext"
把;date.timezone =改为date.timezone =PRC
在Windows Extensions中根据实际情况去除扩展前面的分号(;),例如:
- ; 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
d. Internet信息服务(IIS)管理器的修改
网站 --> 属性 --> 主目录 --> 配置 --> 添加
可执行文件填写C:\WINDOWS\system32\inetsrv\fcgiext.dll,扩展名填写.php。
网站->属性->文档->添加默认内容index.php。
重启iis
- net stop iisadmin
- net start w3svc
6、错误提示
出现这个错误,说明你的电脑没有安装VC9运行库 即VISUAL C++ 2008。
下载安装:
http://www.microsoft.com/downloa ... p;displaylang=zh-cn
- FastCGI Error
- The FastCGI Handler was unable to process the request.
- -------------------------------------------------------
- Error Details:
- Error Number: 14001 (0x800736b1).
- Error Description: ????????????????????????????
- HTTP Error 500 - Server Error.
- Internet Information Services (IIS)
|