IIS8 使用FastCGI配置PHP环境支持 过程详解

简介:   平时帮朋友们配置过一些PHP环境的服务器,但是一直使用的都是Apache HTTP+PHP,今天呢,我吧IIS+PHP配置方式给大家发一下下~呵呵。     在这里,我使用的是FastCGI模块映射的方式配置的,当然还有ISAPI处理程序映射,不过ISAPI的方式在PHP5.5之后就没有了,FastCGI是推荐的方式,效率相对比较高也稳定。

 

  平时帮朋友们配置过一些PHP环境的服务器,但是一直使用的都是Apache HTTP+PHP,今天呢,我吧IIS+PHP配置方式给大家发一下下~呵呵。

 

  在这里,我使用的是FastCGI模块映射的方式配置的,当然还有ISAPI处理程序映射,不过ISAPI的方式在PHP5.5之后就没有了,FastCGI是推荐的方式,效率相对比较高也稳定。

  系统我用的是自己的笔记本,Windows 8.1,IIS是8的,当然Windows Server也是一样的,照着弄就行。

 

演示环境:

  • Windows 8.1
  • IIS 8
  • PHP 5.6.4

 

过程:

  1. 开启系统的IIS平台
  2. 选择下载PHP环境
  3. 配置PHP环境
  4. 启用IIS的PHP支持
  5. 测试PHP环境

 

 

1. 开启系统的IIS平台

  貌似除了Windows Server的系统,其他的系统里面IIS都是默认关闭的,需要手动开启。

  打开卸载程序面板,点击左侧的“打开或关闭Windows功能”,然后打开了“Windows功能”窗口:

  

  然后,找到“Internet Information Service”(IIS)并展开,勾选所有项(实际上很多选项使我们用不到的,用什么勾选什么就OK了):

 

  等待启用,完成后,运行CMD命令“inetmgr”,打开IIS管理面板:

  

  左侧网站中会有一个默认站点“Default Web Site”,默认自动启动的,我们访问"http://localhost",会显示IIS 8的欢迎界面,表示IIS启用成功:

 

 

 

 

2. 选择下载PHP环境

  去PHP官网下载Windows环境的PHP环境,目前最新版本是“PHP 5.6 (5.6.4)”,也是我的演示环境。

  但是官网下面有四个选项:

    1. VC11 x86 Non Thread Safe (2014-Dec-18 00:06:50)
    2. VC11 x86 Thread Safe (2014-Dec-18 00:01:59)
    3. VC11 x64 Non Thread Safe (2014-Dec-18 00:02:02)
    4. VC11 x64 Thread Safe (2014-Dec-18 00:02:02)

  “Non Thread Safe”就是非线程安全版本,“Thread Safe”就是线程安全版本。

  FastCGI的执行方式是单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查方面的防护反而可以提高执行的效率。我们这次是通过FastCGI方式配置的,所以选择“Non Thread Safe”版本的环境,x86则是32位,x64则是64位,这个就不用多说了。

 

  我的系统是Windows 8.1 x64的,所以在这里我就选择“VC11 x64 Non Thread Safe (2014-Dec-18 00:02:02)”,点击下载,在这里下载后我就解压到“C:\PHP5”这个目录了。

 

 

 

3. 配置PHP环境

  转到刚刚解压的PHP目录,我的是“C:\PHP5”,将“php.ini-development”文件复制一份,重命名为“php.ini”,这个作为php环境的配置文件。

  用记事本打开编辑,搜索“date.timezone”,找到“;date.timezone =”并编辑为:"date.timezone = Asia/Shanghai,如下:

  还有以下这些设置项,和上面一样搜索设置即可:

  • register_globals = On    # 开启GET数据调用
  • short_open_tag = On    # PHP支持短标签
  • cgi.force_redirect = 0    # 开启以CGI方式执行PHP
  • fastcgi.impersonate = 1
  • cgi.rfc2616_headers = 1

 

  然后,找到以下扩展选项,去掉前面的分号(启用):

  • ;extension=php_gd2.dll
  • ;extension=php_curl.dll
  • ;extension=php_mbstring.dll
  • ;extension=php_exif.dll
  • ;extension=php_mysql.dll
  • ;extension=php_mysqli.dll
  • ;extension=php_scokets.dll
  • ;extension=php_pdo_mysql.dll

去掉后如下:

 

  然后搜索“extension_dir”,去掉前面的分号,并且指定PHP环境扩展文件所在目录,也就是下载PHP中的ext文件夹,例如我的:

 

  最后,保存,复制一份这个“php.ini”到“C:\Windows”中即可。

 

 

 

 

4. 启用IIS的PHP支持

  回到IIS管理中心,点击目标网站,在右侧找到“处理程序映射”:

 

  打开“处理程序映射”,点击右侧的“添加模块映射”,弹出模块映射设置窗口,名称输入“*.php”,模块选择“FastCgiModule”,执行程序选择你刚刚下载配置的PHP目录中的“php-cgi.exe”,最后确定:

 

  然后,点击网站,右侧的“默认文档”中,添加php的默认页面“index.php”项:

 

 

 

 

5. 测试PHP环境

  打开IIS管理平台,右键左侧刚刚配置好的站点,浏览文件夹,新建一个“index.php”,输入以下代码:

1 <?php
2     phpinfo();
3 ?>

  然后,访问“http://localhost/index.php”,便可以看到PHP的信息页面:

 

 

 

 

  到此,全部配置完毕!呵呵。

 

  因为以前的PHP环境是msi安装版本的,系统环境缺少东西的话会自动在线安装,也可以手动界面化配置,但是现在都是解压版的了,所以,有时候可能会出现一些问题,但都是小问题,百度上有很多。

  比如常见的一个问题:php.exe无法运行或者无权限访问什么的,就是系统需要安装“Visual C++ Redistributable for Visual Studio 2012 Update 4(x64)”和“Visual C++ Redistributable for Visual Studio 2012 Update 4(x86)”。

 

 

  上面演示如果有什么漏掉了忘写了,请留言说明,如果需要什么软件找不到,可以留言,软件我都已经上传网盘了。

 

 

  好了,码字不容易,觉得还不错记得点个赞哦~呵呵。

 

【来自:张董'Blogs:http://www.cnblogs.com/LonelyShadow,转载请注明出处。】

亲们。码字不容易,觉得不错的话记得点赞哦。。

目录
相关文章
|
3月前
|
缓存 监控 网络协议
在配置 PHP-FPM 的 pool 时,常见的性能优化技巧
在配置 PHP-FPM 的 pool 时,常见的性能优化技巧
|
15天前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
39 3
|
3月前
|
关系型数据库 MySQL PHP
php wampserver的使用配置
本文介绍了WampServer在Windows系统下的配置和使用方法,包括如何修改PHP时区为中国标准时区PRC、更改Apache服务器端口号以避免冲突、设置起始页以及如何创建和管理虚拟目录。通过这些步骤,用户可以更有效地在本地环境中开发和测试PHP程序。
php wampserver的使用配置
|
3月前
|
Unix PHP
PHP-FPM 配置
PHP-FPM 配置
|
3月前
|
IDE 安全 网络安全
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
Xdebug 在不同版本的 PHP 中配置方法有什么不同?
190 4
|
3月前
|
监控 IDE PHP
php xdebug的配置、调试、跟踪、调优、分析
php xdebug的配置、调试、跟踪、调优、分析
|
2月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
53 0
|
6月前
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
321 1
|
4月前
|
开发框架 .NET 中间件
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
|
4月前
|
C++
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
下一篇
无影云桌面