1. HOME
  2. ホームページ作成の小技
  3. エックスサーバーでディレクトリ毎に複数のPHPバージョンを利用する方法【2023年まとめ】
TECHNIQUES

ホームページ作成の小技集

サーバー

エックスサーバーでディレクトリ毎に複数のPHPバージョンを利用する方法【2023年まとめ】

WordPressでホームページを制作する

WordPressの運用で数多く利用しているサーバーにエックスサーバーがあります。(弊社ではエックスサーバーのビジネスパートナーに登録しております)

エックスサーバーの場合ですが、ドメインに対して1つのPHPバージョンのみ設定が可能ですがこの後の手順によってディレクトリ(サブドメインも)毎にPHPバージョンを分けることも可能です。
※エックスサーバービジネスでも動作します。

ただし、複数のPHPバージョンを混在した運用は以下のデメリットがあります。

複数のPHPバージョンを利用した場合のデメリット

・エックスサーバー公式サポートされていない
・XアクセラレーターV2が使えない

それでも複数のPHPバージョンを利用したい方は以下の手順に従って設定を行っていきます。

複数のPHPバージョンを有効にするための手順

前提:異なるバージョンを設定するフォルダ(ここでは「phpversion」)を予め決めておきます。

1.エックスサーバーのサーバー管理画面にログインします。
2.Xアクセラレーターをオフにします。

※Xアクセラレーターを有効にしているとバージョン変更ができたのか判断できないなど邪魔するので停止します。

3.以下のファイルを準備します。(文字コードはUTF-8)

.htaccess
1行目のactionでPHPのバージョンを設定したFGIのファイルを指定します。ここでは、「https://ドメイン名/phpversion」配下なので「/phpversion」としております。

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

php.fcgi(利用するPHPバージョンをここで指定します。)
※FTPでアップロード後は705のパーミッションにしてください。利用するPHPバージョンのコメントアウトを外してください。

#!/usr/bin/sh
#exec /usr/bin/php-fcgi8.2
#exec /usr/bin/php-fcgi8.1
#exec /usr/bin/php-fcgi8.0
#exec /usr/bin/php-fcgi7.4
#exec /usr/bin/php-fcgi7.3
#exec /usr/bin/php-fcgi7.2
#exec /usr/bin/php-fcgi7.1
#exec /usr/bin/php-fcgi7.0
#exec /usr/bin/php-fcgi5.6
#exec /usr/bin/php-fcgi5.5

index.php
※PHPバージョンを確認するためのもの。

<?php
phpinfo();
?>

4.「3」で用意したファイルをFTPでアップロードします。
php.fcgiは、705のパーミッション設定を忘れずにおこなってください。初期値は604になります。

5.FTPでアップロードしたURLにアクセスして設定されたPHPバージョンになっているのか確認します。

ずらずらっと表示されますが上部の部分だけでよいのでこれでバージョンが確認できます。
※何度もバージョンを変更しているとキャッシュか何かで即時変わらない場合があるのでその場合は少し待つと良いです。

※XアクセラレーターはV1を有効化しても大丈夫そうですが実際のご利用は動作確認を行ってから実施した方が良いです。

まとめ:エックスサーバーで複数のPHPバージョンを利用する場合

エックスサーバーでは、複数のPHPバージョンを設定はできる。
ただし、XアクセラレーターV2は使えないのでサーバースペックを有効活用ができないのでアクセス負荷が高いサイト等ではおすすめできません。
また公式サポートは無いので、何かトラブルがあってもご自身で対応いただく必要があり、自身が無い方はご利用しないほうが良いです。

※本記事を参考に設定される場合は、ご自身の責任の範囲内でご対応ください。トラブルなどがあっても責任は負いかねます。