IIS+FastCGI環境で複数バージョンのPHPを共存させる

PHP

IIS7以降のFastCGI環境で複数バージョンのPHPを共存させる方法です。

例として下記の2つのフォルダにPHPをインストールされているとします。

  • C:\php\5.4.11
  • C:\php\5.3.21

下記ファイルを編集して、共存したいPHP環境の情報を以下に記述します。

 C:\Windows\System32\inetsrv\config\applicationHost.config
 <fastCgi>





    </application>
 	<application fullPath="C:\php\5.3.21\php-cgi.exe" activityTimeout="600" requestTimeout="600" instanceMaxRequests="10000">




    </application>
 </fastCgi>

基本的にはapplication.fullPathとPHPRCのペアを設定することになります。

web.configでは、そのフォルダ以下で私用したいphp-cgi.exeの情報を記述します。

web.configで、そのフォルダで使用したいPHPバージョンを指定します。
例えば、下記のようにエレメントのscriptProcessorでphp-cgi.exeのパスを記述します。

 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <handlers>
             <add name="php-fcgi" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\php\5.3.21\php-cgi.exe" resourceType="Unspecified" />
         </handlers>
     </system.webServer>
 </configuration>

なお、web.configの変更を反映するためには、IISを再起動する必要があります。

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です