多个PHP版本在同一IIS服务器

这篇文章介绍如何配置IIS以支持在同一台服务器(网站服务器培训 邮件服务器培训 视讯服务器培训)的多个版本的PHP(PHP培训 php教程 )。这在需要测试不同PHP版本应用程序的开发环境中安装是非常有用的。此外,它经常被用在生产环境中,许多PHP应用程序驻留在同一台服务器上,其中一些依赖于某个特定的PHP版本。

  为了在同一IIS服务器上同时安装多个版本的PHP,必须按照php.net文档IIS 5.1和IIS 6.0及IIS 7.0和更高版本中描述的步骤手动安装。不要使用PHP的Windows安装程序,因为它不支持并行安装。

  在特定的PHP版本按照说明安装完成后,下载另一个版本的PHP,提取到一个单独的目录,并根据手工安装步骤来对它进行配置。在此之后按以下说明配置每一个IIS服务器:

  · IIS 5.1

  · IIS 6.0

  · IIS 7.0和更高版本

  注意::在下面两个PHP版本中的所有例子是安装在同一台服务器上。PHP的5.2.11文件位于C:\ PHP5211 \目录和PHP 5.3.1文件位于C:\ PHP531 \目录。

  IIS 5.1中

  FastCGI扩展包可配置到同一台服务器和网站级别。因为5.1中只能有一个网站,它不是可以配置它有两个版本的PHP在同一时间运行。但是,可能有一个配置,允许容易地从一个版本切换到另一个。

  打开IIS FastCGI扩展包位于%windir%\system32\inetsrv\fcgiext.ini的配置文件。在该文结尾处将有一部分定义FastCGI应用程序。它可能看起来像这样:

  [类型]

  PHP= php5211

  [php5211]

  ExePath = ç:\ php5211 \ PHP—cgi.exe

  每当一个*. php文件提出要求使用PHP 5.2.11配置IIS。要切换到PHP 5.3.1,添加另一部分声明,然后修改部分如下:

  [类型]

  ; PHP的= php5211

  PHP的= php531

  [php5211]

  ExePath = ç:\ php5211 \ PHP-gi.exe

  [php531]

  ExePath = ç:\ php531 \ PHP-i.exe

  切换回到PHP 5.2.11更新[类型]通过注释PHP= php531并取消PHP= php5211。更新fcgiexe.ini后没有必要重新启动IIS。FastCGI的扩展包在文件保存之前已搜集好所有变化。

  IIS 6.0中

  在IIS 6.0的FastCGI可以配置在服务器级别,这将导致所有IIS网站使用相同的PHP版本。在服务器级别配置FastCGI和PHP版本之间切换过程和配置IIS 5.1的步骤是一样的。

  另外FastCGI可以配置在网站级别上,这将允许不同的网站使用不同的PHP版本,指定一个特定的PHP版本的网站,请使用下面的命令。请务必用真正的站点替代<site_id>。

  cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"php5211" ^

  -extension:php -path:"C:\php5211\php-cgi.exe" -site:<site_id>

  cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"php531" ^

  -extension:php -path:"C:\php531\php-cgi.exe" -site:<site_id>

  执行这些命令后,在%WINDIR%\system32\inetsrv打开fcgiext.ini文件。它应包含以下部分:

  [类型]

  php:169297538 = php5211;实际站点ID将和您的站点不一样

  php:273357939 = php531;实际站点ID将和您的站点不一样

  [php5211]

  ExePath = ç:\ php5211 \ PHP-cgi.exe

  [php531]

  ExePath = ç:\ php531 \ PHP- cgi.exe

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。