フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【エックスサーバー】特定ディレクトリのみPHPバージョンを変更する方法

PHPバージョン
Xserver
エックスサーバー
ディレクトリ
変更

こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。

PHPにはバージョンが存在しています。サーバーのコンパネから一括してPHPのバージョンを変更出来れば問題ないですが、環境によってはPHPのバージョンを一括で変更してしまうとシステムが動かなくなってしまうという恐れもあります。
そんな時、特定のディレクトリだけPHPのバージョンを切り替えることが出来たらいいなと思ったことはありませんか?
この記事ではエックスサーバー(Xserver)で特定のディレクトリだけPHPのバージョンを切り替える方法をご紹介したいと思います。

ただし、サーバーのプランやバージョンによっては出来ない場合もありますので注意してください。

エックスサーバーとは

まずは簡単にエックスサーバー(Xserver)についてご紹介します。

エックスサーバー(Xserver)はエックスサーバー株式会社が運営するレンタルサーバーサービスで、2004年にサービス開始しています。
様々なサーバーのサービスを提供しており、以下のようなものがあります。

  • XSERVER (エックスサーバー)
  • XSERVER Business (エックスサーバー ビジネス)
  • wpX Speed(ダブルピーエックス スピード)
  • シン・レンタルサーバー
  • XSERVER DOMAIN(エックスサーバー ドメイン)

エックスサーバーで特定ディレクトリのみPHPバージョンを変更する

エックスサーバー(Xserver)の場合の手順はこちら。

php.cgiを作成し、下記を記述します。

#!/usr/bin/sh
exec /usr/bin/php-fcgi8.2

こちらはPHP8.2に切り替える場合の記述です。

作成したphp.cgiをPHPのバージョンを変更したいディレクトリにアップロードします。
この時、php.cgiのパーミッションは「705」にします。

.htaccessを作成し、下記を記述します。

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

●●の部分には実際のディレクトリ名をルートパスで指定します。
作成した.htaccessをPHPのバージョンを変更したいディレクトリにアップロードします。

ここまでの作業で、指定したディレクトリのみPHPのバージョンは切り替わります。

③最後にphpinfo()関数を使い、実際にPHPのバージョンが切り替わっているか確認します。

<?php echo phpinfo(); ?>

バージョンごとの記述

PHP5.6の場合はこちら。

#!/usr/bin/sh
exec /usr/bin/php-fcgi5.6

PHP7.4の場合はこちら。

#!/usr/bin/sh
exec /usr/bin/php-fcgi7.4

PHP8.1の場合はこちら。

#!/usr/bin/sh
exec /usr/bin/php-fcgi8.1

PHP8.2の場合はこちら。

#!/usr/bin/sh
exec /usr/bin/php-fcgi8.2

他のサーバーの場合

他のサーバーの場合は、今回ご紹介したさくらサーバーの設定方法とは異なる場合があります。

さくらサーバーの場合

さくらサーバーで特定ディレクトリのみPHPバージョンを変更する方法はこちらのブログでご紹介しています。

ロリポップの場合

ロリポップで特定ディレクトリのみPHPバージョンを変更する方法はこちらのブログでご紹介しています。

まとめ

いかがでしたか?
エックスサーバー(Xserver)で特定のディレクトリのPHPバージョンを変更する方法をご紹介しました。
特定のディレクトリのみPHPのバージョンを変更することは実際によく発生します。
困ったときはこちらを参考に試してみて下さい。