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

B L O G

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

PHPバージョン
ディレクトリ
ロリポップ
変更

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

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

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

ロリポップとは

まずは簡単にロリポップについてご紹介します。

ロリポップはGMOペパボ株式会社が運営するレンタルサーバーサービスで、2001年にサービス開始しています。
費用の安さが魅力的でとりあえずWebサイトを作ってみたいという初心者向けのレンタルサーバーサービスです。

ロリポップで特定ディレクトリのみPHPバージョンを変更する

ロリポップの場合の手順はこちら。

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

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

こちらは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の場合はこちら。

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

PHP7.4の場合はこちら。

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

PHP8.1の場合はこちら。

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

PHP8.2の場合はこちら。

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

他のサーバーの場合

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

エックスサーバーの場合

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

さくらサーバーの場合

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

まとめ

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