IIS配置PHP环境(快速最新版)(转载+自创)
(参考转载的)
我们知道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就是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 是线程安全;
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。
下载安装,我安装默认路径了:

记得选中第三项:IIS FASTCGI
如果没有安装IIS FASTCGI的 下一步会提示没有安装的,下载安装就行了

FastCGI for IIS 6 7 http://www.iis.net/expand/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

ok!完毕!
测试下:
新建一个.php文件,里面
<?php
phpinfo();
?>
保存!
运行,出现下面页面,说明配置成功了!

这样的方法 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,否则会提示错误,如图

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写入权限,给了.写入权限,解决!
IIS配置PHP环境(快速最新版)(转载+自创)的更多相关文章
- IIS配置PHP环境
IIS配置PHP环境(快速最新版)(转载+自创) (参考转载的) 我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少. ...
- Win7旗舰版中的IIS配置asp.net的运行环境
Win7旗舰版中的IIS配置asp.net的运行环境 以前弄过好多次,都没有成功,昨天晚上不知怎么地就成功了,借用我同学的一句话,这叫“灵光一闪”,废话不多说了,这个成功是有图有视频有真相地哈! ...
- RN初始化环境快速配置
1.安装node node是基于js的,node.js轻量级的Web服务器,想要是React Native跑起来需要node环境,可以去官网下载安装node.js 下载地址:https://nodej ...
- Windows10 IIS配置PHP运行环境(原创)
在Windows 10/8 的IIS(8.0)中搭建PHP运行环境: 如果解决了您的问题,文章底部点击下关注,做原创内容不容易,谢谢.转载请注明出处 PS:顺便推荐下自己写的,开源PHP极速后台开发框 ...
- Windows环境下利用github快速配置git环境
在windows环境下利用github客户端我们可以直接拥有可视化的界面来管理工程,当然你也可以选择你喜欢的命令行工具来做.今天我分享一个比较快速的方式来配置git环境. 先去下载github的win ...
- Windows 8 IIS配置PHP运行环境
在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板>>程序和功能>>打开或关闭Windows 功能,找到Internet信息 ...
- Windows10 IIS配置PHP运行环境
http://www.cnblogs.com/wenhainan/p/5600346.html 在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板& ...
- Apache PHP Mysql 开发环境快速配置
学习PHP开发要配置各种环境,一般会用到apache作为服务器.Mysql数据库.如何快速的配置环境成为困扰大家的烦恼,之前自己也配过,比较繁琐. 最新发现一款集成安装软件“phpStudy”.真可谓 ...
- php+IIS 配置环境(windows环境)
继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...
随机推荐
- NetScaler SNIPs Bound To An Interface Without A VLAN
NetScaler SNIPs Bound To An Interface Without A VLAN https://www.citrix.com/blogs/2014/04/09/work-yo ...
- 【题解】Atcoder AGC#01 E-BBQ Hard
计数题萌萌哒~ 这道题其实就是统计 \(\sum_{i=1}^{n}\sum_{j=i+1}^{n}C\binom{a[i] + a[j]}{a[i] + a[j] + b[i] + b[j]}\) ...
- ARC077C pushpush 递推
---题面--- 题解: 貌似一般c题都是递推... 观察到最后一个插入的数一定在第一个,倒数第二个插入的数一定在倒数第一个,倒数第三个插入的数一定在第2个,倒数第四个插入的数一定在倒数第2个…… O ...
- [HNOI2012]排队 组合数
公式:A(n,n)*A(n+1,2)*A(n+3,m) + A(n,n)*C(m,1)*A(2,2)*C(n+1,1)*A(n+2,m-1) 分情况讨论推出公式 前者为无论何时都合法的,后者为先不合法 ...
- BZOJ4870:[SHOI2017]组合数问题——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4870 https://www.luogu.org/problemnew/show/P3746 看网上 ...
- HDOJ.2111 Saving HDU (贪心)
Saving HDU 点我挑战题目 题意分析 给出来背包容量v和物品数量n,接下来n行分别给出每个商品单位体积的价值和物品总共的体积(注意是单位体积,不是每个物品).求出最多能装多少价值的物品. 典型 ...
- 【图论】tarjan的离线LCA算法
百度百科 Definition&Solution 对于求树上\(u\)和\(v\)两点的LCA,使用在线倍增可以做到\(O(nlogn)\)的复杂度.在NOIP这种毒瘤卡常比赛中,为了代码的效 ...
- django项目初探
一:创建django项目 设置数据库(默认sqlit3) mysql: setting:中设置 DATABASES = { 'default': { 'ENGINE': 'django.db.back ...
- Selenium判断获取的元素是否可见(display:none)
在爬虫中需要自动登陆并判断是否登陆成功,如果登陆错误的话还需要知道错误提示信息,此时需要判断提示信息是否可见 if self.element_exist_xpath('//*[@id="bu ...
- 浏览器发送URL的编码特性
转载自:http://blog.csdn.net/wangjun_1218/article/details/4330244 浏览器发送URL的编码特性 尽管有很多规范URL的标准,例如RFC 3987 ...