さくらインターネットでドメイン毎にPHPのバージョンを変更する方法
(2022年10月)
さくらインターネットのレンタルサーバーは、マルチドメイン対応だが、PHPのバージョンを変更すると、全てのドメインで変わってしまう。
古いサイトがあり、新しいPHPのバージョンでは動かないので、古いバージョンで止めている場合、そこにWordPressを入れると、ダッシュボードで「安全ではない」とユワレテしまう。
ソリャそぅなン/遭難だけど…
PHPのバージョンが古いと、以下のように動かないプラグインも出てくる。
エックスサーバーはドメイン毎に別のバージョンを設定できるので、これはダメ。
だが、さくらインターネットでも、ドメイン毎にPHPのバージョンを変更できる方法がある。
ドメイン毎にPHPのバージョンを変更する方法
管理画面でのPHPのバージョンを「5.6」のママで、一部のドメインで「8.0」にする場合、
テキストエディタで、
#!/bin/sh
exec /usr/local/php/8.0/bin/php-cgi
の2行を書き、
・文字コード:UTF-8
・改行コード:LF
で、ファイル名は「php.cgi」で保存する。
ドメインのルートに置き、パーミッションを「705」にする。
ドメインのルートにアロ~「.htaccess」の最上部に、以下を追記。
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
以上で「8.0」になるハヅ!
「Internal Server Error」になる場合
・改行コードを「LF」にシたクァ?
・パーミッションを「705」にシたクァ?
文字コードや改行コードは、サクラエディタを使い、「名前を付けて保存」をする際に、画面下部で設定できる。
設定できるPHPのバージョン
管理画面での選択肢は、
となっているので、以下が指定可能?
exec /usr/local/php/8.0/bin/php-cgi
exec /usr/local/php/7.4/bin/php-cgi
exec /usr/local/php/5.6/bin/php-cgi
exec /usr/local/php/5.4/bin/php-cgi
exec /usr/local/php/5.3/bin/php-cgi
exec /usr/local/php/5.2/bin/php-cgi
設定画面で一斉に「8.0」にし、古いサイトを、上記の方法で「7.4」や「5.x」にするコトも可能。
一斉に上げると危険じゃナゐかを、事前に調べるモクテキにも使えるンかはシラン(SILANE)。
パフォーマンスの問題
上記の方法で設定するPHPは「CGI版」であり、「モジュール版」より実行パフォーマンスが大幅に劣る。
パフォーマンスを求めるなら、古いサイトを書き換えるか、棄(ス)てるかして、グァち(設定画面で一斉に)で「最新のバージョン」且つ「モジュール版」にするコト。
ソレなら、エックスサーバーに移行した方がゴツゑ々!
さくらインターネットの仕様変更でこの方法が使えなくなったら危険デモアル!
関連:さくらインターネットからエックスサーバーへ?WordPressとデータベースの速度 Amazon S3との連携?