IIS7安装PHP 5.3 FastCGI

时间: 2011-04-20 / 分类: 收藏 / 浏览次数: 9,142 / 1个评论 发表评论

怕忘了,记一下

想在自己的windows server 2008上安装个PHP来测试kingcms,所有就去官方下了个php压缩包来手动安装,首先这个php版本分VC6版本与VC9版本,VC6是用visual studio6版本来编译的,VC9是用Visual studio2008编译的,官方说是用apache就选vc6版本,IIS就选VC9;另外还分个
Non Thread Safe版本和Thread Safe版本,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

PHP有两种执行方式:ISAPI和FastCGI,ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本,而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

如果你像老夫一样信了这个,下了个线程安全版,恭喜你,按照往常的安装方法却找不到php5isapi.dll,咋办?咱还是以FastCGI方式来执行吧,ISAPI设置比较复杂。

解压PHP的安装文件到D:\PHP5,将文件夹里的php.ini-development改名为php.ini,然后编辑它,
extension_dir = “D:\PHP5\ext”
去掉
extension=php_mysql.dll
extension=php_gd2.dll
等前面的分号,根据自己的来开启关闭
找到date.timezone改为date.timezone = “Asia/Shanghai”
这是PHP5.3必须配置的项目,否则运行phpinfo时会出现错误警告
然后CGI的配置,以下几项前的分号去掉
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo = 1
cgi.force_redirect = 0

然后安装IIS7,安装的时候需要在应用程序功能中选中CGI

启动IIS管理器,左侧的网站 – Default Web Site, 再双击右侧的“处理程序映射”
进入管理页面后再选择右侧菜单的“添加模块映射”
请求路径填*.php,模块选FastCgiModule,可执行文件选D:\PHP5\php-cgi.exe,名称输入PHP。
然后在默认文档中添加个default.php和index.php就OK了。

添加个PHPINFO文件试试看,出现一个500错误,提示FastCGI进程意外退出,咋回事?运行cmd命令行,切换到d:\php5目录下,运行一下php -v,发现提示说在D:\PHP5\ext\php_zip.dll’找不到指定的模块,原来刚才在extension=php_zip.dll我去掉了前面的分号,但ext目录没有php_zip.dll文件,那我就把分号加回去吧,现在phpinfo就能显示出来了。

1个评论

  1. XIAOQI116
    2011/06/13 10:41:36

    为什么早没看到。。。。大师能留下联系方式么?

发表评论

您的昵称 *

您的邮箱 *

您的网站