最近何かとAI関係で話題の「さくらインターネット」ですが、レンタルサーバーはコスパもよく、かなり使いやすいサービスだと思います。
特にWordPressなどのLAMP環境に最適化された環境であり、PHPもいろいろなバージョンを選ぶことができます。
変更方法も簡単でコンパネからボタン一つでできるので楽ちんですね。
ただ当然なのですがマルチドメインで運用している場合もすべての環境にPHPのバージョンが一斉に反映されてしまいます。
それはそれで便利なのですが、例えばこの環境のみバージョンアップしたいとか、このバージョンだけそのままにしたいとかあると思います。
サポートサイトを見てるとそこら辺の記述はないため、あくまでサポート外ですが環境ごとにPHPのバージョンを設定することができます。
php.cgiを作成する。
適用したいフォルダにphp.cgiファイルを作成します。中身は以下の通りになります。
1 2 |
#!/bin/sh exec /usr/local/php/8.2/bin/php-cgi |
ここの8.2のところをPHPのバージョン指定すればよいかと思います。
ただ選択できるバージョンが限られており、基本的にはコンパネに表示されているバージョンのみとなります。
ファイル作成後、パーミッションは0705に指定します。
また、文字コードはUTF-8にしましょう。(Shift-JISだとInternal Server Errorが出ます)
.htaccessに記述する
作成したphp.cgiと同じ領域に.htaccessを作成します。すでに作成済みの場合は追記してください。
1 2 |
Action myphp-script /php.cgi AddHandler myphp-script .php .html |
これでPHPのバージョンを変更することができます。
一つ注意点があり、CGIモードで動かしているため、.htaccessでphp_value を使ったPHPの設定を変えてる場合はエラーとなります。
その場合は.user.iniファイルを作成し、そこで記述を変更します。
.user.iniを作成する(必要な場合のみ)
.user.iniを作成します。
1 2 3 4 5 |
; エラー表示 display_errors = On ;1ファイルあたりの最大アップロードサイズ upload_max_filesize = 24M |
上記例はエラー表示とファイルサイズを変更してますが、このように必要な記述を変更してください。
最後に
いろいろなレンタルサーバーがありますが、環境ごとに複数のPHPバージョンを切り替えることができるのはさすがさくらだなと思います。ただこれは公式にはサポートしていない方法ですので、そこはあらかじめ考慮する必要はあり、あくまで検証用の手段として使っていただくのがよいかと思います。