【さくらインターネット】特定ディレクトリだけPHPのバージョン変更する方法

【さくらインターネット】特定ディレクトリだけPHPのバージョン変更する方法

さくらインターネットで管理画面にアクセスする権限がなく、FTP情報だけ提供してもらった状況で特定ディレクトリ以下のPHPバージョンを変更したというお話です。

デフォルトのPHPバージョンは7.2

CPIからさくらインターネットへお問い合わせフォームを引っ越しするという仕事の依頼を受け、引っ越ししたのですが、そのままでは動作しませんでした(画面が真っ白になりました)。

デフォルトのPHPバージョンは7.2を指定していて、php.iniは管理画面から設定する仕様だったので、どうにか特定ディレクトリ以下でphp.iniの変更ができないものか調べていると、PHP5.3以降なら「.user.ini」ファイルを置く事ができるということがわかりました。

PHP マニュアル

特定ディレクトリ以下でPHPのバージョン指定も可能だということがわかりました。

さくらレンタルサーバでマルチドメイン毎にPHPの設定やバージョンを切り替える

「php.cgi」と「.user.ini」があればPHP5.3以降のバージョンに変更可能

.htaccessにバージョン指定したphp.cgiへのパスを記述することと、パーミッションを「755」に変更することでPHPバージョン変更が可能でした。

ソースコード貼っておきますのでご参考になれば幸いです。

php.cgi(ファイル名はバージョンがわかるように「php53.cgi」にしました。)

2020年3月17日追記

別の案件で同じことをしようとしたら「Internal Server Error」が出てしまいました。

「php53.cgi」の保存形式が原因だったようで

文字コード:「UTF-8」もしくは「EUC-JP」
改行コード:「LF」

で保存するとInternal Server Errorが解消され、無事に動作しました。

.htaccess

特定のディレクトリに「.htaccess」、「php53.cgi」、「.user.ini」を置く。

php53.cgiのパーミッションは「755」にする。

FTPソフトから見たファイルのパーミッション

これでPHP5.3がサイト内で共存できるようになりました。

上へ