はじめに
超久々の技術ネタ。しかも小ネタ(笑)
レンタルサーバといえば、有名でよくプロジェクトでお世話になっているロリポップさんですが、こちらの ssh 環境にて WP-CLI を利用していた所、WordPress 5.2 バージョンの変更に伴い、PHP 最低必須バージョンの変更 があり、※2019年6月2日時点 現状では 5.5.35 のため、WP-CLI 経由でのコアアップデートの際にエラーが出てしまいます。
(ロリポップ管理画面ではphp7系の設定になっており、画面上から WordPress のアップデートをする事は可能なのですが、諸事情にて ssh環境から WP-CLI で実施する必要がありました。。。)
$ php -v PHP 5.5.35 (cli) (built: Jun 7 2017 17:38:06) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.19, Copyright (c) 2002-2015, by ionCube Ltd. with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies $ wp core update Updating to version 5.2.1 (ja)... Using cached file '/home/users/1/***************/.WP-CLI/cache/core/wordpress-5.2.1-ja.zip'... 更新を展開しています… Error: WordPress 5.2.1 は PHP 5.6.20 以降を必要とするため、更新をインストールできません。現在稼働しているバージョンは 5.5.35 です。</p><p><a href="https://ja.wordpress.org/support/update-php/">PHP の更新についてさらに詳しく読む</a>。
免責事項
本内容に書かれているコマンドを使用して発生した問題につきまして、当方は一切責任を負いません。恐れ入りますが、コマンドをご利用される場合は自己責任でお願い致します。
ssh環境でのphpバージョン変更
サーバ環境を見てみると、実は php 各バージョンが以下にありまして、以下のパスに php 7 があります。
$ ls -1 /usr/local/php 5.2 5.3 5.4 5.5 5.6 7.1 $ /usr/local/php/7.1/bin/php -v PHP 7.1.5 (cli) (built: Jul 10 2017 18:03:20) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.5, Copyright (c) 1999-2017, by Zend Technologies
この php 7 を bash_profile の PASH に記載しておきます。
そうすると、php のバージョンが変更になります。
echo "export PATH="/usr/local/php/7.1/bin:$PATH" >> ~/.bash_profile soruce ~/.bash_profile $ php -v PHP 7.1.5 (cli) (built: Jul 10 2017 18:03:20) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.5, Copyright (c) 1999-2017, by Zend Technologies
この状態で、 WP-CLI 経由で core update をしてみます。
$ wp core update Updating to version 5.2.1 (ja)... Using cached file '/home/users/1/***************/.WP-CLI/cache/core/wordpress-5.2.1-ja.zip'... 更新を展開しています… Success: WordPress updated successfully.
無事にアップデートできました!
まとめ
anyenv や phpenv をインストールして php のバージョンを変更する方法もありますが、今回はできるだけメンテナンスをかけない方法でロリポップレンタルサーバ(ssh環境)の php バージョンを変更する方法をご紹介しました。
以上、ちょっとした小ネタでした。
現場からは以上です。
リープアローズでは、レンタルサーバや、VPS、専用サーバでの運用・保守のサービスを提供しています。