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