XServer でサブドメインごとに PHP バージョンの変更をする方法

XServer

ここでは例として PHP 7.4 に変更する例を記載します。

ドメインディレクトリの直下に下記ファイルを配置します。fcgi を使う場合、拡張子は .fcgi でなければなりません。PHP のバージョンごとのコマンドパスは XServer コントロールパネルの「サーバー情報 > コマンドパス一覧」で確認できます。

ディレクトリ・ファイル構成

XServer の基本的なディレクトリ構成をもとに説明します。仮の構成は下記です。
サーバーID:bootech
ネイキッドドメイン:bootech.biz
サブドメイン:sub-a.bootech.biz・sub-b.bootech.biz・sub-c.bootech.biz

home/
└── bootech/
    └── bootech.biz/
        └── public_html/
            ├── sub-a.bootech.biz
            ├── sub-b.bootech.biz/
            │   ├── .htaccess
            │   └── php.fcgi
            └── sub-c.bootech.biz

php.fcgi

#!/usr/bin/sh

exec /usr/bin/php-fcgi7.4

パーミッションは 755 に設定します。

$ chmod 755 php.fcgi

同ディレクトリで .htaccess を作成し、下記を記述します。既に .htaccess が存在する場合は追記します。

.htaccess

AddHandler myphp-script .php
Action myphp-script /php.fcgi

※XServer の「Xアクセラレータ Ver.2」が有効になっていると設定が読み込まれません。コントロールパネルの「高速化 > Xアクセラレータ」から対象のドメインのXアクセラレータ Ver.2を無効にしてください。Ver.1 か、OFF に変更すれば問題ありません。

あとは phpinfo 関数を使ってバージョンを確認すればOKです。

bootech.biz ドメインの PHP のバージョン設定を 8.3 にしていた場合、bootech.biz、sub-a.bootech.biz、sub-c.bootech.biz には、PHP 8.3 が適用され、設定を行なった sub-b.bootech.biz のみ、PHP 7.4 の環境となります。

PHP のバージョンを他のものに設定したい際は、php.fcgi ファイル内の 7.4 の部分の他のバージョンに変更すればOKです。

コメント

タイトルとURLをコピーしました