レンタルサーバーを使っている場合、メインドメインについてはサーバーの管理画面からのPHPバージョンを変えることができます。
しかし、そのメインドメインに紐づく特定のディレクトリやサブドメインのみを対象にPHPバージョンを変えることは、管理画面からではできないことが間々あります。
この記事では、エックスサーバー(apache、nginx)の特定のディレクトリやサブドメインのみPHPバージョンを変える方法をご紹介します。
目次
サブドメインのみ変える場合
https://sub.example.com/のサブドメインを例にご紹介します。
サブドメインのディレクトリに移動します。
cd /public_html/sub.example.com/
php.cgiを作成します。
vi php.cgi
php.cgiに下記を記載します。
#!/usr/bin/sh
exec /usr/bin/php8.5-cgi
※PHPのバージョンを8.5にする場合。
php.cgiのパーミッションを755に設定します。
chmod 755 php.cgi
.htaccessを開きます。
vi .htaccess
.htaccessに下記を記載します。
<FilesMatch "\.php$">
SetHandler provisional-php85
Action provisional-php85 /php.cgi
</FilesMatch>
php.cgiに記載したPHPのバージョンでサブドメインが動いているか確認します。

特定のディレクトリのみ変える場合
https://example.com/sub/のサブディレクトリを例にご紹介します。
サブディレクトリに移動します。
cd /public_html/sub/
php.cgiを作成します。
vi php.cgi
php.cgiに下記を記載します。
#!/usr/bin/sh
exec /usr/bin/php8.5-cgi
※PHPのバージョンを8.5にする場合。
chmod 755 php.cgi
php.cgiのパーミッションを755に設定します。
vi .htaccess
.htaccessに下記を記載します。
<FilesMatch "\.php$">
SetHandler provisional-php85
Action provisional-php85 /sub/php.cgi
</FilesMatch>
php.cgiに記載したPHPのバージョンでサブディレクトリが動いているか確認します。

まとめ
エックスサーバー(apache、nginx)の特定のディレクトリやサブドメインのみPHPバージョンを変える方法をご紹介しました。
PHPのバージョンを変更すると、エラーなどでWEBページが真っ白になってしまうなど、何らかの不具合が起きることがあります。
サブディレクトリやサブドメインのみPHPバージョンを変えることができると、本番環境のメインドメインに影響を出さずにPHPのバージョンアップのテストを行うことができます。
カナメグローバルホールディングスではWEBサイトの制作を保守業務を行っており、その一環でサーバーにも対応しています。
ぜひお気軽にご相談ください。

