エックスサーバーのサブドメインでPHPバージョンを切り替える方法です。ディレクトリ配下でも設定できる方法になります。
エックスサーバー(Xserver)の管理画面ではドメイン毎にPHPバージョンを変更できます。
PHPのバージョンについて | レンタルサーバーならエックスサーバー
https://www.xserver.ne.jp/manual/man_program_php_ver.php
この方法ではサブドメインやディレクトリ配下ではバージョン変更が出来ません。
ですが、.htaccessを変更する事でPHPバージョンの切り替えが実現出来るため、その方法をまとめていきます。
設定するポイントとしては
- 実行するPHPバージョンを記載したcgiを用意
- cgiを.htaccessと同じ階層に置く
- .htaccessにcgiを指定
- cgiに実行権限を付与する
となっています。
目次
PHPバージョンの設定方法
実際には以下の指定を行います。(PHP8.1に指定する場合の指定)
#!/usr/bin/sh
exec /usr/bin/php-fcgi8.1
Action myphp-script /php81.fcgi
AddHandler myphp-script .php .html
ファイル名は任意です(今回はphp81.fcgiにしています)
# cgiに実行権限のパーミッションを付与、SSH接続後を想定
chmod +x php81.fcgi
以上で設定は完了です。
ちなみに、配置する場所は
〇〇.com/public_html/△△.〇〇.com/.htaccess
〇〇.com/public_html/△△.〇〇.com/php81.fcgi
のような、公開ディレクトリになっている場所に設置しないと実行されないので注意してください。
設定できるPHPバージョン
エックスサーバーの公式マニュアルにあるパスならどれでも設定可能です。以下を参照ください
https://www.xserver.ne.jp/manual/man_program_soft.php#link-b
PHP 8.1.x(CGI) /usr/bin/php8.1-cgi 又は /usr/bin/php-fcgi8.1 PHP 8.0.x(CGI) /usr/bin/php8.0-cgi 又は /usr/bin/php-fcgi8.0 PHP 7.4.x(CGI) /usr/bin/php7.4-cgi 又は /usr/bin/php-fcgi7.4
実行権限について
設定方法の中で、実行権限をSSH接続後で設定する方法を記載しましたが、SSH接続をせずとも設定することが可能です。
エックスサーバーの公式マニュアルでは推奨されるパーミッションが記載されています
https://www.xserver.ne.jp/manual/man_server_permission.php#link-b
.htaccess 644 .cgi / .pl などの CGI 実行ファイル 755, 705のいずれか 適切なパーミッション値
この設定値を参考に、FTPソフトで権限を付与してもいいですし、エックスサーバーのファイルマネージャから権限を付与する方法もあります。
コメントを残す