さくらインターネットでドメイン毎にPHPのバージョンを変更する方法

当サイトには広告が含まれています。

(2022年10月)

さくらインターネットのレンタルサーバーは、マルチドメイン対応だが、PHPのバージョンを変更すると、全てのドメインで変わってしまう。

古いサイトがあり、新しいPHPのバージョンでは動かないので、古いバージョンで止めている場合、そこにWordPressを入れると、ダッシュボードで「安全ではない」とユワレテしまう。

サイトがPHPの安全ではないバージョンで動作しています

ソリャそぅなン/遭難だけど…

PHPのバージョンが古いと、以下のように動かないプラグインも出てくる。

Slimstat Analytics

エックスサーバーはドメイン毎に別のバージョンを設定できるので、これはダメ。

だが、さくらインターネットでも、ドメイン毎にPHPのバージョンを変更できる方法がある。

ドメイン毎にPHPのバージョンを変更する方法

管理画面でのPHPのバージョンを「5.6」のママで、一部のドメインで「8.0」にする場合、

テキストエディタで、

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

の2行を書き、

・文字コード:UTF-8
・改行コード:LF

で、ファイル名は「php.cgi」で保存する。

改行コード:LF

ドメインのルートに置き、パーミッションを「705」にする。

パーミッション:705

ドメインのルートにアロ~「.htaccess」の最上部に、以下を追記。

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

以上で「8.0」になるハヅ!

「Internal Server Error」になる場合

Internal Server Error

・改行コードを「LF」にシたクァ?
・パーミッションを「705」にシたクァ?

文字コードや改行コードは、サクラエディタを使い、「名前を付けて保存」をする際に、画面下部で設定できる。

サクラエディタ

設定できるPHPのバージョン

管理画面での選択肢は、

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版」であり、「モジュール版」より実行パフォーマンスが大幅に劣る。

パフォーマンスを求めるなら、古いサイトを書き換えるか、棄(ス)てるかして、グァち(設定画面で一斉に)で「最新のバージョン」且つ「モジュール版」にするコト。

CGI版とモジュール版

ソレなら、エックスサーバーに移行した方がゴツゑ々!

さくらインターネットの仕様変更でこの方法が使えなくなったら危険デモアル!

関連:さくらインターネットからエックスサーバーへ?WordPressとデータベースの速度 Amazon S3との連携?