服务器之家

服务器之家 > 正文

IIS7配置PHP环境完整图文教程

时间:2020-04-10 19:56     来源/作者:西西软件园

我们知道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站点的反应速度和生产力,

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

下载地址:http://windows.php.net/download/

里面有好多种,要那种呢?

PHP现在推出5.3.2版本了,不过下载的时候有几个不同版本选择。那就是VC6 X86和VC9 X86。 首先我来解答:

VC6是什么?

VC6就是legacyVisual Studio6 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 是线程安全;

FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二進位檔有兩種包裝方式:msi 、zip ,請下載 zip 套件)所以我们选择NO-Thread Safe 版本的PHP来使用。

而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

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

IIS7配置PHP环境完整图文教程

记得选中第三项:IIS FASTCGI

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

IIS7配置PHP环境完整图文教程

FastCGI for IIS 6 7http://www.iis.net/expand/fastcgi

IIS7配置PHP环境完整图文教程

IIS7配置PHP环境完整图文教程

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

IIS7配置PHP环境完整图文教程

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

这种配置有两种方法,我用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环境完整图文教程

ok!完毕!

测试下:

新建一个.php文件,里面

phpinfo();

?>

保存!

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

IIS7配置PHP环境完整图文教程

这样的方法 IIS就不用怎么配置,他都会自动配置好了!微软提供的配置更加详细!

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

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

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

设置完后就一切正常了!

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

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

运行C:\Program Files\PHP\php-cgi.exe,如果能进入命令窗口并且只有光标,说明FastCGI能正常调用php-cgi,否则会提示错误,如图

IIS7配置PHP环境完整图文教程

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

解决方法:

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

提示:

PHP Warning: Unknown: open(c:\php\upload_tmp\sess_li3ardp5qtalfj4, O_RDWR) failed: Permission denied (13) in Unknown on line 0 PHP Warning:

Unknown: open(c:\php\upload_tmp\sess_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:\php\upload_tmp) in Unknown on line 0

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

标签:

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部