Windows下IIS以FastCGI模式运行PHP.docx

上传人:小飞机 文档编号:4926330 上传时间:2023-05-23 格式:DOCX 页数:10 大小:169.37KB
返回 下载 相关 举报
Windows下IIS以FastCGI模式运行PHP.docx_第1页
第1页 / 共10页
Windows下IIS以FastCGI模式运行PHP.docx_第2页
第2页 / 共10页
Windows下IIS以FastCGI模式运行PHP.docx_第3页
第3页 / 共10页
Windows下IIS以FastCGI模式运行PHP.docx_第4页
第4页 / 共10页
Windows下IIS以FastCGI模式运行PHP.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Windows下IIS以FastCGI模式运行PHP.docx》由会员分享,可在线阅读,更多相关《Windows下IIS以FastCGI模式运行PHP.docx(10页珍藏版)》请在三一办公上搜索。

1、Windows 下 IIS 以 FastCGI 模式运行 PHP由于PHP5.3的改进,原有的IIS通过isapi方式解析PHP脚本已经不被支持,PHP从5.3.0以后的版本开始使用微软的fastcgi模式,这是一个更先进的方式,运行速度更快,更稳定。本文介绍在IIS上以FastCGI模式运行PHP。我们以 Windows 2003 + IIS 6.0 (windows2003 自带)为例。第一步:下载安装的文件1. FastCGI 版本 fcgisetup_1.5_x86_rtw.msi2. MySQL 版本 mysql-5.5.19-win32.msi3. PHP 版本 php-5-3.8

2、-nts-Win32-VC9-x86.zip提示:1. 我们这里使用目前最新的FastCGI 1.5版本。官方地址2. Windows下安装MySQL就选择.msi安装包格式,我们选择了mysql-5.5.19-win32.msi,双击根据向导安装即可,简单方便。3. PHP我们选择用 php-538-nts-Win32-VC9-x86.zip 这个版本。9是为 IIS 定制 的。“nts是非线程安全版本,针对PHP的FastCGI安装方式。第二步:安装文件1. 在要安装的磁盘建一个文件夹。我们在D盘的根目录下创建一个Web文件夹。D:Webo2. 在Web文件夹下创建一个WWW文件夹,用来存

3、放你的PHP网站程序。D:WebWWWo3. 把下载的 php-538-nts-Win32-VC9-x86.zip 解压到 D:WebPHP 文件夹。4. 安装MySql数据库,把MySQL安装到D:WebMySQL文件夹。具体MySQL安装 过程可以参考文档MySQL安装图解。5. 为IIS安装FastCGI扩展。首先确定系统已经安装好了 IIS。然后双击fcgisetup_1.5_x86_rtw.msi安装,如果C盘是你的Windows系统安装盘,它会把fcgi 特定的文件复制到C:Windowssystem32inetsrv文件夹下,注册并且使fcgi的web 服务生效,这时在IIS的“

4、Web服务扩展里多了 FastCGI Handler。第三步:配置IIS1. 点击 控制面板- 管理工具- “internet信息服务(或者直接点击开始-“运 行”-输入 inetmgr.exe),打开 IIS。2. 点击网站-“右键-属性,在属性对话栏中点击主目录-“配置-“添加。3. 在”添加与编辑应用程序扩展名映射对话框中,点击浏览,找到C:Windowssystem32inetsrv 中的 fcgiext.dll。扩展名写上.php”,动作项中点限制为,写上、GET,POST,HEAD,把下面两个选项 脚本引擎、确认文件是否存在都 勾上。确认配置。4. 返回网站属性框,点击文档,添加i

5、ndex.php做为默认页。最后点击确认。5. 点击网站-右键-新建-网站,建立一个新站点,端口我们这里设置为8080,网站主目录路径为D:WebWWWo第四步:配置FastCGI在安装FastCGI后,在C:Windowssystem32inetsrv文件夹中有以下三个重要文件:fcgiext.dll -这是fastcgi控制柄动态链接库。它可以为与fastcgi进行通信的程序处理请 求。fcgiext.ini -这是配置文件,包含扩展到fastcgi进程的文件映射。它也包含了 fastcgi进 程池的配置。fcgiconfig.js -这个配置fastgci的扩展。这个脚本更新fcgiex

6、t.ini文件,修改iis元库,如果有必要的话重复使用web服务应用池。这里配置FastCGI有两种方法,一种是通过命令行来实现配置,另一种直接修改fcgiext.ini 文件。1. 通过命令行来实现配置打开命令行,将地址转换到C:Windowssystem32inetsrv,输入以下命令cscript fcgiconfig.js -add -section:PHP -extension:php-path:D:Webphpphp-cgi.execscript fcgiconfig.js -set -section:PHP-InstanceMaxRequests:5000cscript fcgi

7、config.js -set -section:PHP-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000cscript fcgiconfig.js -set -section:PHP -RequestTimeout:360cscript fcgiconfig.js -set -section:PHP -ActivityTimeout:120脚本的含义,分别是:1.注册 PHP 到 FastCGIo2.InstanceMaxRequests用来设置应用程序池回收。FastCGI进程请求数达到InstanceMaxRequests数值5000,应用程序池将自动

8、回收。默认值是1000。3. 当环境变量PHP_FCGI_MAX_REQUESTS达到10000将自动回收应用程序池。4. RequestTimeout设置请求超时时间,也就是请求允许的最大时间,如果FastCGI进程请求超过此设置将被禁止,值是90秒。5. ActivityTimeout指定FastCGI进程请求的最大活跃时间,在设定时间内,FastCGI进程和IIS没有通信,将终止进程。默认值是70秒。2. 直接配置fcgiext.ini打开 C:windowssystem32inetsrvfcgiext.ini 文件,加入Typesphp=PHPPHPExePath = D:Webphp

9、php-cgi.exeInstanceMaxRequests=5000EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 RequestTimeout=360ActivityTimeout=120提示:、php表示扩展名,、PHP是配置节名称,以、PHP定义。把上面代码复制到fcgiext.ini的末尾,保存就好了。第五步:配置PHP打开PHP安装目录,即D:WebPHP,我们可以看到目录下有两个这样的文件 php.ini-development和php.ini-production,第一个是开发使用的配置文件,第二个 是生产环境的配置,因为我们是在本机做开

10、发,所以选择前者。将php.ini-development 复制一份到同目录下,并改名为php.ini。这个php.ini就是当前使用的配置文件,以下 几步都是在修改这个php.ini文件的内容。另外要注意的是修改php.ini文件后需重新启动IIS服务,新设置才会生效。参见文档:如何重启IIS服务的方法1.设置关于FastCGI部分找到下面几行,那前面的引号;去掉,参数设置为如下fastcgi.impersonate = 1cgi.fix_pathinfo= 1cgi.force_redirect = 0它们的说明请参考cgi.force-redirect; cgi.fix-pathinfo

11、; fastcgi.impersonate。2. 指定PHP扩展库的存放目录在Windows下PHP的扩展库通常以DLL形式存放在PHP的ext目录中。使用文本工具打开php.ini文件,查找extension_dir = ext,也就是在On windows下面那一行。把它前面的分号“;去除掉,改为如下:extension_dir = D:/Web/PHP/extextension_dir表示PHP扩展库的具体目录,以便调用相应的DLL文件。3. 开启相应的扩展库默认情况下许多PHP的扩展库都是关闭的,比如默认PHP不支持连接Mysql数据库,需开启相应的扩展库。这里我们开启一些常用的扩展库

12、。查找;Windows Extensions (大概在941行),在它的下面是extension列表。找到如下扩展:;extension = php_curl.dll;extension = php_gd2.dll;extension = php_mbstring.dll;extension = php_exif.dll;extension = php_mysql.dll;extension = php_mysqli.dll;extension = php_pdo_mysql.dll;extension = php_pdo_odbc.dll;extension = php_sockets.dl

13、l;extension = php_xmlrpc.dll;extension = php_xsl.dll把以上extension前面的分号“/去掉。如果你希望加载其它扩展模块,方法相同,只要 去掉前面的分号即可。提示1: Exif扩展是用来显示图片的exif信息的,因为该扩展需要mbstring.dll支持,所以必须将 extension = php_exif.dll 这一行写到 extension = php_mbstring.dll 的后 面。提示2:如果PHP自带的扩展库不能满足你的需要,你可以去查找并下载你需要的库。windows用户可以去或者 PECL集合压缩包。提示3:很多人在找p

14、hp_zip.dll,其实从php5.3开始已经集成了 zip扩展,你可以用?php phpinfo() ?找到zip扩展的说明。4. 让PHP支持短标签在php.ini配置文件查找short_open_tag = Off (大概在266行)把它修改成: short_open_tag = On让其支持短标签。php的代码一般包含在?php . ?的标签内,设置short_open_tag = On之后,可 以写成更简洁的形式:? . ?。5. 配置PHP的Session功能在使用session功能时,我们必须配置session文件在服务器上的保存目录。我们需要为session建立一个可读写的目

15、录,这个目录最好独立于网站目录之外。这里把目录上建在了 D:Websessiontmp,然后在php.ini配置文件中找;session.save_path = /tmp(大概在1467行),去掉前面的分号;”,改为如下:session.save_path = D:/Web/sessiontmp6. 配置PHP的文件上传功能同session 一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文 件上传功能,否则文件上传功能会失败。我们建立一个可读写的目录文件夹D:Webfileuploadtmp,然后在php.ini配置文件中找到;upload_tmp_dir =(大概875

16、行),修改为:upload_tmp_dir = D:/Web/fileuploadtmpPHP默认上传文件大小不超过2M,要想上传大于2M的文件,请参考文档配置php.ini 实现文件上传功能。7. 设置时区在php.ini配置文件查找;date.timezone =,去掉前面的分号;”改为如下:date.timezone = PRCdate.timezone是PHP5.1开始新增加的配置参数,用来设置时区。默认date.timezone是被注释掉的,也就是默认时区是UTC格林威治标准时间。我们这里改为 date.timezone = PRC(PRC,Peoples Republic of China,中华人民共和国),也就是日期使用中国的时区。这样可以解决时间相差八小时的问题。第六步:测试将如下代码保存为index.php文件,放到D:WebWWW目录下面。测试服务器然后在浏览器地址栏输入“http:/localhost:8080/index.php”。结果如下图所示:相关文档:IIS下PHP的三种配置方式比较Windows+Apache搭建PHP开发环境

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号