横浜のITサポート・WEB制作会社

Webサイト制作

WordPressの使い方を知りたい!

Windows

パソコンのトラブル解決方法を知りたい!

Office365

Office365でできることを知りたい!

アプリ

便利なアプリを知りたい!

h

すべての記事

人気記事TOP15

タグ一覧

会社情報

採用情報

お問い合わせ

WP-CLIで「server is running PHP version 5.6.40 but…」になったとき

2023/10/02 | WordPress

こんにちは。

当社では WordPress を使ったホームページ制作を行っているのですが、その設定に WP-CLI を使うことがあります。

WP-CLI は WordPress を管理するためのコマンドラインインターフェースで、そのインストールやプラグインの更新など、普段管理画面から行っている作業をコマンド 1 つで実行できるツールです。

先日、WP-CLI を使いデータベースの値を置換しようとしたところ「Your server is running PHP version 5.6.40 but WordPress 6.3.1 requires at least 7.0.0」のメッセージが表示され、置換が実行できませんでした。

$ wp search-replace --dry-run --skip-columns=guid 'http://xxxxx/' 'https://xxxxx'
Your server is running PHP version 5.6.40 but WordPress 6.3.1 requires at least 7.0.0
$

WordPress のバージョンに対して サーバーのPHP バージョンが低いというような内容でした。

今回はこちらを対処するまでに行ったことをご紹介します。

現状の確認

エックスサーバーの PHP バージョンを確認する

エラーではサーバーの PHP バージョン 5.6.40 になっているとのことでしたので、そのようなことはないはずと思いましたが念のためそれを確認しました。

今回はエックスサーバーで WP-CLI を実行していたのですが問題なさそうでした。

WP-CLI の PHP バージョンを確認する

次に WP-CLI の実行するときの PHP バージョンを確認しました。

するとバージョン 5.6.40 で実行されているようでした。

$ wp --info
(略)
PHP binary:    /opt/php-5.6.40-3/bin/php
PHP version:    5.6.40
(略)
$

設定ファイルでもバージョン 5.6 が指定されているようで、こちらが原因の可能性が高そうでした。

$ cat ~/.bashrc
(略)
# User specific aliases and functionsalias wp="/usr/bin/php5.6 ~/wp-cli/wp-cli.phar"
alias wp="/usr/bin/php5.6 ~/wp-cli/wp-cli.phar"
(略)
$

WP-CLIの設定変更

PHP バージョンを変更する

作業時点のエックスサーバーでは PHPバージョン8.2 まで利用できるようでしたので、いったん最新のそれを設定しました。

$ vi ~/.bashrc
(略)
# User specific aliases and functionsalias wp="/usr/bin/php5.6 ~/wp-cli/wp-cli.phar"
# alias wp="/usr/bin/php5.6 ~/wp-cli/wp-cli.phar"
alias wp="/usr/bin/php8.2 ~/wp-cli/wp-cli.phar"
(略)
$ source ~/.bashrc
$

PHP バージョンの変更を確認

設定ファイルを編集し、もう一度 WP-CLI の実行するときの PHP バージョンを確認しました。

その結果、PHP バージョンの設定は反映されたましたが、今度は WP-CLI で廃止されたプログラムが使われているといった旨のメッセージがでるようになってしまいました。

$ wp --info
PHP Deprecated:  Creation of dynamic property WP_CLI\Dispatcher\CompositeCommand::$longdesc is deprecated in phar:///xxx/wp-cli/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CompositeCommand.php on line 36
(略)
PHP binary:    /opt/php-8.2.9/bin/php
PHP version:    8.2.9
(略)
WP-CLI version:    2.4.0
$

このとき WP-CLI そのものバージョンが 2.4.0 でした。

PHP のバージョン 8 に対して WP-CLI のバージョンが低いのかと思い WP-CLI のホームページを確認したところ、作業時点ではバージョン 2.8.1 が最新のWP-CLIのようでした。

WP-CLI のバージョンアップ

バージョンアップする

マイナーバージョンが4以上更新されていたので、そこそこ機能の変更もされている可能性があります。

そこで、WP-CLIそのものをバージョンアップしました。
このときもメッセージが表示されましたが、バージョンアップは成功するようです。

$ wp cli update
PHP Deprecated:  Creation of dynamic property WP_CLI\Dispatcher\CompositeCommand::$longdesc is deprecated in phar:///xxx/wp-cli/wp-cli.phar/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CompositeCommand.php on line 36
(略)
You have version 2.4.0. Would you like to update to 2.8.1? [y/n] y
(略)
Success: Updated WP-CLI to 2.8.1.
$

バージョンアップ確認

WP-CLI のバージョンアップまで行うと、先程のメッセージも表示されなくなりました。

$ wp --info
(略)
WP-CLI version:    2.8.1
$

データベースの置換も無事できました。

$ wp search-replace --dry-run --skip-columns=guid 'http://xxxxx/' 'https://xxxxx'
+------------------+-----------------------+--------------+------+
| Table            | Column                | Replacements | Type |
+------------------+-----------------------+--------------+------+
(略)
+------------------+-----------------------+--------------+------+
Success: 421 replacements to be made.
$

まとめ

今回は大きく2つの作業を行いました。

  • WP-CLIの設定変更
  • WP-CLIのバージョンアップ

タイトルの「Your server is running PHP version 5.6.40 but WordPress 6.3.1 requires at least 7.0.0」のメッセージだけでしたら、WP-CLIの設定変更のみで対処できそうです。
当社の場合だとWP-CLIを最初にインストールしてから時間も経っていたようで、それ自体のバージョンアップも行いました。

ITサポート・ホームページ制作はお任せください

  • パソコンの動作が遅い・重いと感じる
  • パソコンやスマートフォン、複合機などIT機器を新しく入れ替えたい
  • システム化・クラウド化など業務のIT化・DX化を考えている
  • ホームページを新しく作りたい
  • 古くなったホームページを修正をしてほしい

上記の様なお悩みがありましたらぜひ弊社までお気軽にお問い合わせください!