【さくらインターネット】特定ディレクトリだけPHPのバージョン変更する方法
さくらインターネットで管理画面にアクセスする権限がなく、FTP情報だけ提供してもらった状況で特定ディレクトリ以下のPHPバージョンを変更したというお話です。
デフォルトのPHPバージョンは7.2
CPIからさくらインターネットへお問い合わせフォームを引っ越しするという仕事の依頼を受け、引っ越ししたのですが、そのままでは動作しませんでした(画面が真っ白になりました)。
デフォルトのPHPバージョンは7.2を指定していて、php.iniは管理画面から設定する仕様だったので、どうにか特定ディレクトリ以下でphp.iniの変更ができないものか調べていると、PHP5.3以降なら「.user.ini」ファイルを置く事ができるということがわかりました。
特定ディレクトリ以下で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」にする。
これでPHP5.3がサイト内で共存できるようになりました。