さくらのレンタルサーバでPHPバージョン変更したいけどできる?
できますよ!
この記事ではさくらのレンタルサーバでPHPのバージョンを変更する方法を書いていきます。
この記事で分かること
- さくらのレンタルサーバでPHPのバージョンを変更する方法
- ドメイン毎のPHPバージョンを変更する方法
さくらのレンタルサーバでPHPのバージョンを変更したい場合は参考にしてみて下さい。
PHPのバージョン変更について見ていきましょう。
管理画面からPHPのバージョンを変更する
さくらのレンタルサーバでは管理画面から言語のバージョン設定を行うことができます。
[スクリプト設定→言語のバージョン設定]と進みましょう。
PerlとPHPのバージョン設定ができるけど、今回はPHPを変更したいのでPHPの設定を変更します。
設定で好きなバージョンのPHPにすることができますよ。
また、モードはモジュール版とCGI版を選べますが以下のように書かれていますね。
動作不良等がなければ「モジュール版」の利用をおすすめします。PHPの実行パフォーマンスが大幅に改善されます。
確認する
試しにSSH接続して確認するとバージョンが変わっているのが分かると思います。
[〇〇@〇〇 ~]$ php -v
PHP 8.0.21 (cli) (built: Jul 20 2022 21:19:09) ( NTS )
サーバー単位でPHPのバージョンは変更される
さくらのレンタルサーバでPHPのバージョンを変更すると、ドメイン単位ではなくサーバー単位でPHPのバージョンが変更されます。
example.comのようなドメイン単位じゃなくてってこと?
そうです、全て同じPHPバージョンになります。
イメージ
- example1.com・・・PHP8.0
- example2.com・・・PHP8.0
- example3.com・・・PHP8.0
ドメイン毎のPHPバージョンを変更する
さくらのレンタルサーバで管理しているドメイン毎にPHPのバージョンを変更したいっていう時には一応CGIを使ってできたりします。
- 使用するPHPを記載したcgiファイルを作成
- .htaccessでcgiファイルを指定する
SSH接続する
cgiファイルと.htaccessを編集するのにSSH接続して編集することにします。
SSH接続の方法がわからなかったら以下の記事に書いているので、よかったら参考にしてみて下さい。
-
さくらのレンタルサーバでSSH接続する方法!【パスワード認証・公開鍵認証】
2022/9/28
この記事ではさくらのレンタルサーバでSSH接続する方法について書いていきます。 さくらのレンタルサー ...
SSH接続をしなくてもローカルで作成したファイルを後でFTPソフトやファイルマネージャーでアップロードしてもOKです。
cgiファイルを作成する
ドメインを変更したいドメイン名フォルダ配下にcgiファイルを作成します。
[/home/〇〇/www/funfunfun.shop]
$ vim php.cgi
以下を記述します。
#!/bin/sh
exec /usr/local/php/8.0/bin/php-cgi
ここのphp/8.0っていうバージョンは自分がそのドメインで使いたいバージョンにするといいです。
使えるPHPバージョン
使えるPHPバージョンはSSH接続してみてみるとこんな感じですね。
[〇〇@〇〇 /usr/local/php]$ ls
5.2 5.3 5.4 5.6 7.4 8.0 cpanel default modules
5.2 5.3 5.4 5.6 7.4 8.0なんかがこの記事を書いている現時点だと使うことができる。これはおそらくどんどん新しくなっていくので、新しいPHPバージョンを使いたくなったら確認してみるといいですね。
.htaccessを編集する
次は.htaccessを編集します。
[/home/〇〇/www/funfunfun.shop] $ vim .htaccess
これでさっき作ったphp.cgiを指定です。
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
cgiファイルのパーミッションを変更する
cgiファイルのパーミッションを変更します。
$ chmod 705 php.cgi
ここまでやると.htaccess経由でcgiが実行されて指定されたPHPバージョンが使用されるはずです。
PHPバージョンをサイトから確認する
今回ワードプレスサイトのドメインで試したので、ワードプレスの管理画面から確認します。
ここのPHPバージョンが指定したPHPバージョンになっているはずです。
SSH接続時のPHPバージョンは変わらない
ドメインにあるサイト自体のPHPバージョンは変更されるんですが、変更した後もSSH接続時のPHPバージョンは変わりません。
[〇〇@〇〇]$ php -v
PHP 元のPHPバージョン (cli) (built: Jul 20 2022 21:19:09) ( NTS )
.htaccessであくまでアクセスがあったときにcgiファイルを指定して実行しているので、まあそりゃそうですけどね。
まとめ
今回は以下の2つのことをやってみました。
- サーバー単位でPHPバージョンを変更する方法
- ドメイン単位でPHPバージョンを変更する方法
PHPのバージョンを変更したいときに試してみて下さい。