Linux Study Lab !

当前位置:   网站首页 >> Windows 服务与应用

Windows 2008 R2系统IIS7.5使用FactCGI运行PHP5.4.x的配置流程

本站上次写了关于2003系统IIS6.0配置PHP和MySQL的流程文章,因微软目前完全放弃最2003的任何类型支持,故大部分生产

环境正在迫切的转移到更新的系统,在Win 2012接受考验时日尚不多时,Win 2008 R2成为大部分Windows服务应用首选的生

产系统环境。本次实验的部署环境如下:

操作系统:Windows 2008 R2 64bit

PHP:5.4.44

MySQL:5.1.72

ZendGuard:5.0


一、IIS 7.5安装

默认全新安装的Windows 2008 R2服务器系统不包含任何角色与应用,此时需要运行服务器管理器中的角色,添加角色来新增IIS web服务。

blob.png

点击初始页面下一步,找到Web 服务器IIS 并勾选,点击下一步:

blob.png

按图勾选角色服务内容,点击下一步,如有特殊需求,请按实际需求勾选:

blob.png

两张图里没有截取到的部分均是未勾选状态

blob.png

点击下一个界面安装即可,正常安装完毕后,即完成了Web环境的安装。使用服务器本机浏览器打开 http://localhost 即可看到IIS 7.5的欢迎页面。

blob.png


二、安装软件运行环境

1、下载本次部署中需要用到的运行环境包并双击安装。

vcredist.zip

2、如使用的是2008系统,非R2系统时,需要另行安装.NET Framework 4或4.5.x、4.6.x环境包之一。


三、安装PHP

1、下载本次部署中需要用到的PHP 5.4.44软件包,官方下载地址。本例中我们使用FastCGI方式运行php,故使用NTS非安全线程的PHP版本。

2、解压PHP程序文件到D:\Program Files\PHP,如下图般目录结构:

blob.png

3、下载

ZendGuardLoader-70429-PHP-5.4-Windows-x86.zip,解压其中的ZendLoader.dll到D:\Program Files\PHP\ext目录下。

4、下载并解压本文用到的范例配置文件

phpini.zip放到D:\Program Files\PHP目录下,本配置文件可用于生产环境使用,默认开启了一些必备的扩展模块,程序性能参数请按照自身服务器硬件规格进行调整。本配置文件中的一些目录路径均以D:\Program Files\PHP为基准,如你的PHP没有安装在这个目录下,请查找替换。本配置文件中,已经将Zend扩展模块的启用代码加在最后几行,请根据自身需求修改。


四、调整IIS 7.5适配PHP

1、打开服务器管理器,选中角色-Web服务器-Internet信息服务模块,右侧双击处理程序映射功能:

blob.png

在打开的功能页右侧点击添加模块映射,按下图内容填写:

blob.png

确定并保存,在弹出的询问框中选择是 - 将此项添加到FastCGI集合中。

2、在角色-Web服务器-Internet信息服务模块中,选中服务器名,双击打开右侧FastCGI设置:

blob.png

编辑如下图显示的刚才添加的FastCGI条目:

blob.png

修改参数:

监视对文件所做的更改,将路径定义到PHP目录下的php.ini,在本例中即:

blob.png

修改环境变量,添加一个参数PHP_FCGI_MAX_REQUESTS并定义默认值为10000:

blob.png

确定保存,并关闭所有设置窗口。


五、安装MySQL

1、下载MySQL 5.1.72,如有需求也可安装5.5.x至5.6.x版本,本文以5.1.x为范例。官网下载地址

2、运行安装包安装程序,下一步后选择自定义安装模式,建议更改安装地址为非C盘,如D:\Program Files\MySQL\MySQL Server 5.1\

blob.png

点击Install开始安装。安装后,运行初始配置向导:

blob.png

选择自定配置模式:

blob.png

默认我们选择Server Machine,即生产环境。也可以按照要求选择第一项开发环境或最后一项专用数据库服务器,注意如果选最后一项,MySQL会使用大型数据库默认配置文件,尽可能利用当前服务器的所有资源用于数据库服务。

blob.png

默认选择仅用InnoDB数据库运行,如有MyISAM库需求的请选择第二项:

blob.png

接下来指定数据文件存放的目录,默认是程序安装目录,这里建议自定义数据库目录到根目录方便日后维护:

blob.png

下一步选择该数据库服务设计承受的并发连接数,这里我们选第二项,最大500个并发,按照实际要求,请选第三项并输入一个期望的值。

blob.png

下一步,可以更改默认的MySQL端口,本文中我们使用默认的3306端口,如果没有外部硬件防火墙,请勾选Add firewall exception for this port:

blob.png

下一步,单字节码地区如欧美使用第一项字符集,东亚地区双字节比如中日韩使用第二项UTF-8编码,如有特殊需求请选第三项自定义字符集:

blob.png

下一步配置服务名,由于服务器上只有一个MySQL服务,这里我们使用默认服务名,如有特殊需求请自行修改:

blob.png

下一步为root用户设置一个密码,不建议勾选enable root access from remote machines,如的确有远程连接需求建议另建用户并赋予尽可能小范围的权限;

blob.png

点击Execute开始部署,部署完毕后即可使用。

至此,环境安装完毕。

==============================================================

在IIS7.5上,为了显示出FastCGI运行环境下PHP的错误代码内容以供开发人员调试,需要作出如下步骤:

1、编辑php.ini,查找display_errors,默认值为Off,改为On后保存

2、新建如下内容的文件,保存为web.config,存放在网站根目录下。

<?xml version="1.0" encoding="UTF-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
 
http://go.microsoft.com/fwlink/?LinkId=169433
 
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.webServer>
    <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"></httpErrors>
  </system.webServer>
</configuration>

此时,再刷新出错的PHP页面,原先的IIS7.5显示的500内部服务器错误将被更详细的PHP错误信息取代。如页面无任何输出,可能是php.ini中open_basedir选项开启,但没有指定session.tmp,建议注释掉open_basedir再测试。


发表我的评论

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项