プログラミング

エックスサーバーでフォルダごとにPHPのバージョンを設定する方法

エックスサーバーでフォルダごとにPHPのバージョンを設定する方法を紹介します。

まず、以下の3つのファイルを作成してください。

  • php.cgi
  • .htaccess
  • .user.ini

それぞれのファイルに記述する内容を順番に見ていきましょう。

php.cgi

php.cgiには設定したいPHPのバージョンのコマンドパスを記述する必要があります。

エックスサーバー

コマンドパスはエックスサーバーのサーバーパネルの「サーバー情報」「コマンドパス一覧」から確認することができます。

#!/usr/bin/sh
exec /usr/bin/php7.4-cgi

上記はPHP7.4(CGI)のパスを記述しています。

.htaccess

WordPressなどインストールしていれば、.htaccessはすでに存在していると思うので、WordPressの記述の上に以下の赤文字部分を追記してください。

なお、以下の例は「cms」というフォルダにてPHP7.4を動かす場合になりますので、状況に応じてパスは書き換えてください。

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cms/
RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /cms/index.php [L] </IfModule>
# END WordPress

.php.ini

最後に.php.iniですが、こちらはPHPの設定を変えたい場合に記述しますので、必要なければなしでも空白でも大丈夫です。

例えばメモリの上限を変更したい場合は以下のように「memory_limit」を記述します。

memory_limit = 512MB

これらのファイルを作成して記述が終わったら、cmsフォルダ(対象のフォルダ)にアップロードします。

なお、ページを確認して500エラーなどが出ている場合は、php.cgiのパーミッションを確認してください。

パーミッションが604などになっていたら755に変更すればOKです。

Leave a Comment