2017年以前の旧ブログ

BLOG2017

ディレクトリ単位でバージョンが異なるPHPを動作させる方法

OB・OG Other Blog

開発してると、ふと古いサーバーを担当することがあります。

サーバー単位で PHP のバージョンを上げられない場合、ディレクトリ単位でPHPのバージョンを切り替える方法をご紹介します。

前提として cgi版の各種PHPが必要となります(SAKURAなどであります)、無ければ別途で用意すればいいと思います。

cgi版PHP以外に用意するのは、 .htaccess と php.cgi の2ファイル

.htaccess で cgi  を実行して、差し替えたいPHPを呼び出しいるだけ、簡単です。

 

SAKURAサーバーで PHP 5.6の例

.htaccess

Action myphp-script /ec_cube_test_v3/php.cgi
AddHandler myphp-script .php
以下は例
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]

 

php.cgi(アクセス権は755)

#!/bin/sh
exec /usr/local/php/5.6/bin/php-cgi

 

ver.php などでPHPのバージョンを確認すると、

 

こんな感じに、PHP の バージョンを切り替えられます。以外と重宝しますのでお試しください。

52