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バージョンを指定します。
例えば、下記のように
<?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を再起動する必要があります。