设为首页 收藏本站
查看: 850|回复: 0

[经验分享] PHP5.3.6的IIS配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-14 09:01:40 | 显示全部楼层 |阅读模式
  居然phpcms只支持php5.2.x了 以前配置的php5.1.x要更新了 NND
最新版是5.3.x的Windows版已经不支持ISAPI模式了
  
  我们知道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 ,請下載 msi套件)所以我们 选择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/beijing
  设置完后就一切正常了!
  ==============================================================================

    如何安装php5.3.6:
  1.首先必须明白PHP的两种执行方式:ISAPI和FastCGI。
  (1)ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。
  (2)FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
  FastCGI已经集成于IIS7也支持IIS6,在IIS6中的安装方法以下详述。
  2.PHP5.3.6文件里面没有php5isapi.dll取而代之的是php5nsapi.dll原因:
  PHP5.3 是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP5.3 文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll,换句话说PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,只能通过FastCGI的方式执行。据说它的效率很高的哟。(一直郁闷为什么我下载的php没有php5isa.dll,没想到PHP5.3不支持ISAPI了,晕哦)
  FASTCGI http://www.iis.net/expand/FastCGI 下载X86版本)
  PHP http://www.php.net/downloads.php
  注意:下载php时请选择VC9版本下载(适用IIS+PHP)
  安装FASTCGI时,需要.net2.0以上、windows 2003 sp2 或以上
  .net3.5下载:http://www.crsky.com/soft/21819.html
  windows 2003 sp2下载:http://www.iyunv.com/os/windows/Win2003/1904.html
  1、安装php5.3.6
  建议使用.zip而不实用.msi的安装版,此例以zip为例
  解压php-5.3.6-Win32-VC9-x86到C:\php下
  配置 php.ini
  将 C:\PHP\php.ini-production 复制一个,然后重命名为 C:\PHP\php.ini
  打开 C:\PHP\php.ini,
  修改PHP.ini文件:
  1、第531行改为:display_errors = On
  2、第542行改为:display_startup_errors = On
  3、第624行改为:error_prepend_string = "<br><font color=#ff0000>"
  4、第630行改为:error_append_string = "</font><br><br>"
  5、第813行改为:extension_dir = "D:\php\php_setup_files\php-5.3-vc9\ext\"
  6、第854行改为:fastcgi.impersonate = 1
  7、从948行到988行根据自己的需要修改
  8、第997行改为:date.timezone = asia/Shanghai
  其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS。(记得要细心哦:-D)
  2、安装.net3.5 (已安装.net 2.0以上版本,该步骤可忽略)
DSC0000.png
  2、Windows 2003 sp2 安装 (同样,已安装以上版本可忽略)
  3、FASTCGI安装
DSC0001.png

    安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件。如下图
DSC0002.gif
  同时在 IIS 的 &#8220;Web 服务扩展&#8221;里多了 FastCGI Handler
DSC0003.gif
  注册 PHP 到 FastCGI:
  打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件
  在 [Types] 下添加以下配置:
  [Types]
  php=PHP
  [PHP]
  ExePath=C:\PHP\php-cgi.exe
  &#8220;php&#8221;表示扩展名,&#8220;PHP&#8221;是配置节名称,以&#8220;[PHP]&#8221;定义。
  4、配置网站
  右键网站 =》 属性 =》 主目录 =》 配置 =》 添加,如下图配置:
DSC0004.gif
DSC0005.jpg
  可执行文件路径:C:\WINDOWS\system32\inetsrv\fcgiext.dll
  5、写文件测试
  index.php测试页
  <?php
  phpinfo();
  ?>
DSC0006.png
  6、安装mysql
  下载:http://dev.mysql.com/downloads/
  如何安装:http://www.duote.com/tech/1/2430_1.html
  最新版本与该教程有所出入,不过基本一致
  7、建立多站点 》》点击查看 (iis下如何建立多个站点)
  8、开启伪静态支持 ISAPI_Rewrite 》》点击查看

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-98778-1-1.html 上篇帖子: IIS添加个性域名 下篇帖子: IIS 6.0, Getting Information Using WMI
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表