ワードプレスサイトをサブフォルダで運用していて、Xサーバーでその特定フォルダだけ、PHPバージョンを変える方法について解説いたします。


Xサーバーで特定フォルダだけ、PHPバージョンを変えるには?

Xサーバーでは以下の手順に従って特定フォルダだけPHPバージョンを変更することが可能です。テスト環境作成や、どうしても古いPHPバージョンでワードプレスなどを動かす必要がある場合に使える方法となります。

1 PHPバージョンを変えたいフォルダにあるHTACCESSの冒頭に下記の記載を行います。
FTPソフトウェア等で、PHPバージョンを変えたいフォルダにあるHTACCESSをダウンロードいただきテストエディタで記載します。

Action myphp-script /PHPバージョンを変えたいフォルダ/php.cgi
AddHandler myphp-script .php .html

PHPバージョンを変えたいフォルダはpublic_html以下のそのフォルダへのパスになります。
例 public_html/test フォルダのPHPバージョンを変えたい場合は 

Action myphp-script /test/php.cgi

になります。

2 php.cgiというテキストファイルを作成し、下記の記載を行います

#!/usr/bin/sh
exec /usr/bin/変えたいPHPバージョンの指定

変えたいPHPバージョンの指定部分には下記の記載を行えます。

PHP8.5.x(CGI) を指定する場合 /usr/bin/php8.5-cgi 又は /usr/bin/php-fcgi8.5
PHP8.5.x(CLI) を指定する場合 /usr/bin/php8.5
PHP8.4.x(CGI) を指定する場合 /usr/bin/php8.4-cgi 又は /usr/bin/php-fcgi8.4
PHP8.4.x(CLI) を指定する場合 /usr/bin/php8.4
PHP8.3.x(CGI) を指定する場合 /usr/bin/php8.3-cgi 又は /usr/bin/php-fcgi8.3
PHP8.3.x(CLI) を指定する場合 /usr/bin/php8.3
PHP8.2.x(CGI) を指定する場合 /usr/bin/php8.2-cgi 又は /usr/bin/php-fcgi8.2
PHP8.2.x(CLI) を指定する場合 /usr/bin/php8.2
PHP8.1.x(CGI) を指定する場合 /usr/bin/php8.1-cgi 又は /usr/bin/php-fcgi8.1
PHP8.1.x(CLI) を指定する場合 /usr/bin/php8.1
PHP8.0.x(CGI) を指定する場合 /usr/bin/php8.0-cgi 又は /usr/bin/php-fcgi8.0
PHP8.0.x(CLI) を指定する場合 /usr/bin/php8.0
PHP7.4.x(CGI) を指定する場合 /usr/bin/php7.4-cgi 又は /usr/bin/php-fcgi7.4
PHP7.4.x(CLI) を指定する場合 /usr/bin/php7.4
PHP7.3.x(CGI) を指定する場合 /usr/bin/php7.3-cgi 又は /usr/bin/php-fcgi7.3
PHP7.3.x(CLI) を指定する場合 /usr/bin/php7.3
PHP7.2.x(CGI) を指定する場合 /usr/bin/php7.2-cgi 又は /usr/bin/php-fcgi7.2
PHP7.2.x(CLI) を指定する場合 /usr/bin/php7.2
PHP7.1.x(CGI) を指定する場合 /usr/bin/php7.1-cgi 又は /usr/bin/php-fcgi7.1
PHP7.1.x(CLI) を指定する場合 /usr/bin/php7.1
PHP7.0.x(CGI) を指定する場合 /usr/bin/php7.0-cgi 又は /usr/bin/php-fcgi7.0
PHP7.0.x(CLI) を指定する場合 /usr/bin/php7.0
PHP5.6.x(CGI) を指定する場合 /usr/bin/php5.6-cgi 又は /usr/bin/php-fcgi5.6
PHP5.6.x(CLI) を指定する場合 /usr/bin/php5.6
PHP5.5.x(CGI) を指定する場合 /usr/bin/php-fcgi5.5
PHP5.5.x(CLI) を指定する場合 /usr/bin/php5.5
PHP5.4.x(CGI) を指定する場合 /usr/bin/php-fcgi5.4
PHP5.4.x(CLI) を指定する場合 /usr/bin/php5.4
PHP5.3.x(CGI) を指定する場合 /usr/bin/php-fcgi5.3
PHP5.3.x(CLI) を指定する場合 /usr/bin/php5.3
PHP5.1.x(CGI) を指定する場合 /usr/bin/php-fcgi5.1
PHP5.1.x(CLI) を指定する場合 /usr/bin/php5.1

※PHP7.2を指定する場合

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

3 php.cgiと変更したHTACCESSファイルを該当のサブフォルダにアップロードします

php.cgiと変更したHTACCESSファイルを該当のサブフォルダに上書きでアップロードします。
この時に下記の点ご注意ください。

・HTACCESSファイルのパーミッション(書き込み権限)を604にします
・php.cgiファイルのパーミッション(書き込み権限)を705にします

それでもPHPバージョンが変わらないときは?

この場合いくつか原因が考えられます。下記の手順をさらにお試しください。

1 パスが正しいかご確認ください

2 余計な全角の空白文字などがHTACCESS,php.cgiに含まれていないかご確認ください

3 CGIバージョン(-cgiと記載があるもの)をしてしてみてください

例 php.cgiの内容

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

4 Xアクセラレータをv2からv1に変更するか、完全に停止します。

5 wp-adminフォルダ等の特定フォルダ内にさらに別のHTACCESSファイルが無いかご確認ください。ある場合は一旦リネームして問題解決するかをお試しください。問題が解決する場合はそちらのHTACCESSを削除いただくか、必要な場合はそちらのHTACCESSにも同様の設定を記載します。

ご参考になりましたら幸いです。

WordPress ワードプレスサイトの様々なカスタマイズや修正を専門技術者が代行いたします。お気軽にご相談ご依頼お送りください