欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

IIS7配置PHP环境图文教程(fastcgi快速最新版)

程序员文章站 2022-03-06 14:53:09
我们知道php配置有几种: 1、cgi方式加载php环境,通常就是iis里面配置解释器为php.exe,早期比较常见,目前使用较少。 特点是:稳定,但效率太低。 2、...

我们知道php配置有几种:

1、cgi方式加载php环境,通常就是iis里面配置解释器为php.exe,早期比较常见,目前使用较少。
特点是:稳定,但效率太低。

2、isapi方式加载php环境,通常就是iis里面配置解释器为php5isapi.dll,目前使用最多,应用最广。
特点是:多线程,效率较高,但不够稳定。

3、fastcgi方式加载php环境,在iis环境里并不常见,但其它系统环境应用还是有的,不过iis7.0开始内置fastcgi了。
特点是:高效率,高稳定性,属于将来发展趋势。

我试过其他的特别麻烦,php 5.3发布的windows版已经不支持isapi模式了,所以我打算按微软推荐的fastcgi方式运行php。

我用的就第三种,也是最好最快的,因为fastcgi大大加强了iis处理php的能力,能迅速提高php站点的反应速度和生产力,

并具有更高的稳定性和安全性.

下载地址:里面有好多种,要那种呢?

php现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是vc6 x86和vc9 x86。
首先我来解答:
vc6是什么?
vc6就是legacy visual studio 6 compiler,就是使用这个编译器编译的。
vc9是什么?
vc9就是the visual studio 2008 compiler,就是用微软的vs编辑器编译的。

那我们如何选择下载哪个版本的php呢?
如果你是在windows下使用apache+php的,请选择vc6版本;
如果你是在windows下使用iis+php的,请选择vc9版本;

那non thread safe是什么?
non thread safe就是非线程安全;
thread safe 是什么?
non thread safe 是线程安全;
官方并不建议你将non thread safe 应用于生产环境,所以我们选择thread safe 版本的php来使用

下载安装,我安装默认路径了:

IIS7配置PHP环境图文教程(fastcgi快速最新版)

记得选中第三项:iis fastcgi

IIS7配置PHP环境图文教程(fastcgi快速最新版)

如果没有安装iis fastcgi的 下一步会提示没有安装的,下载安装就行了

fastcgi for iis 6 7

IIS7配置PHP环境图文教程(fastcgi快速最新版)

IIS7配置PHP环境图文教程(fastcgi快速最新版)

安装好后,继续下一步,我按照默认了:

IIS7配置PHP环境图文教程(fastcgi快速最新版)

安装完毕后,就是配置了。

这种配置有两种方法,我用cmd配置,一条命令就行了。

转到刚才安装cgi的目录下:

>cd c:\windows\system32\inetsrv

>cscript fcgiconfig.js -add -section:"php" -extension:php -path:"c:\program files\php\php-cgi.exe"

注意:path:"xxxx\php-cgi.exe” 是你安装php的目录

> cscript fcgiconfig.js -set -section:"php" -instancemaxrequests:10000
> cscript fcgiconfig.js -set -section:"php" -environmentvars:php_fcgi_max_requests:10000

IIS7配置PHP环境图文教程(fastcgi快速最新版)

ok!完毕!

测试下:

新建一个.php文件,里面

<?php

phpinfo();

?>

保存!

运行,出现下面页面,说明配置成功了!

IIS7配置PHP环境图文教程(fastcgi快速最新版)

这样的方法 iis就不用怎么配置,他都会自动配置好了! !

如果按上面的教程配置好后,运行php测试页面,出现了500错误。

那就设置php.ini中的date.timezone项。

我这里设置成上海时区:date.timezone = asia/beijing

设置完后就一切正常了!

在这里会出现几个问题的,需要注意一下:(我自己配置的时候遇到的问题)

  1.对于空机子的服务器,一般没有安装别的什么数据库软件的,所以大家运行一下c:program filesphpphp-cgi.exe,是否会出现问题,然后解决问题。(用cmd试运行)

  运行c:program filesphpphp-cgi.exe,如果能进入命令窗口并且只有光标,说明fastcgi能正常调用php-cgi,否则会提示错误,如图

IIS7配置PHP环境图文教程(fastcgi快速最新版)

  2.运行测试页面就显示500错误(我自己遇到了问题,然后在网上找到了解决方法。)

  解决方法:

  打开ie----internet选项--------高级------------显示友好的http错误前面的勾去掉,再出现错误的时候会提示你错误的具体提示。

  提示:

  php warning: unknown: open(c:phpupload_tmpsess_li3ardp5qtalfj4, o_rdwr) failed: permission denied (13) in unknown on line 0 php warning:

  unknown: open(c:phpupload_tmpsess_li3ardbp5qtalfj4, o_rdwr) failed: permission denied (13) in unknown on line 0 php warning: unknown: failed

  to write session data (files). please verify that the current setting of session.save_path is correct (c:phpupload_tmp) in unknown on line 0

  这说明我没有给c:phpupload_tmp写入权限,给了.写入权限,解决!