サーバー

さくらインターネットでサイト毎にPHPバージョンを切り替える

さくらインターネットのサーバーでPHPのバージョンを変更すると、サーバー内で管理している全てのサイトに適応される形となります。

しかし、場合によってはサイト毎にPHPのバージョンを変更したい場面があります。

古いバージョンのWordPressを使用している場合などです。

PHP8.1を使用することになるとWordPressは最低でも5.9が必須バージョンとなります。
それ以外にもプラグインやテーマなども対応している必要があります。

今回対象のサイトはWordPressが5.3でプラグインもPHP7.4までにしか対応していない環境でした。
そのためこのサイトのみPHP7.4に変更します。

cgiファイルの作成

対象サイトのトップディレクトリにcgiファイルを作成します。

ファイル名は特に制限は無いのでお好きなファイル名で大丈夫です。
ここではphp.cgiとします。

中身は下記の通り。

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

7.4の部分を変更すれば他のバージョンでも動作可能です。
但しコントロールパネルから変更できるバージョンのみが対象となります。

PHPバージョン

作成する際に文字コードを「UTF-8」、改行コードは「LF」を使用します。

よくわからない場合は、ファイルのアップロード後にさくらインターネットのコントロールパネルに搭載されているファイルマネージャーの編集機能を使えば、ファイルの文字コードと改行コードの確認・変更が可能です。

ファイルのパーミッションは必ず755にしてください。

.htaccessの編集

対象サイトのトップディレクトリにある.htaccessファイルを編集します。
無い場合は作成します。

.htaccessファイルの先頭行に下記内容を挿入します。
php.cgiの部分は↑で作成したファイル名を入れます。

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

以上で完了です。
cgiファイルに書き込んだバージョンでPHPが動作します。

さくらインターネットの公式ヘルプ

以下さくらインターネットの公式サイト上にあるファイルマネージャーのヘルプです。
上記工程で必要な対応が書かれています。

ファイルをサーバーへアップロードする

https://help.sakura.ad.jp/rs/2195/#ac03

ファイルを編集する

https://help.sakura.ad.jp/rs/2195/?article_page=3#ac09

パーミッション(属性)変更

https://help.sakura.ad.jp/rs/2195/?article_page=3#ac10