Call to undefined function mb_convert_kana()

GCPに移行してから

エントリの検索をすると「サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。」みたいなエラー画面が表示されて検索結果を取得できない状態になっていた。

移行とドメイン移管は済ませてあるから放って置いていいかなと思っていたが、ちょろっと調べて直した。


WP_DEBUG

何はともあれ、何のエラーが発生しているのかを確認するためにデバッグモードを有効にせねばと思ったがやり方を忘れてた(ノ∀`)
wp-config.phpで

define( 'WP_DEBUG', true );

か。


wp-multibyte-patch

Fatal error: Uncaught Error: Call to undefined function mb_convert_kana() in /var/www/wpbl/wp-content/plugins/wp-multibyte-patch/ext/ja/class.php:147

ということなのでプラグインの「WP Multibyte Patch」が原因か(´・ω・`)

取り敢えず、プラグインページで停止しようとするも「サイトで技術的な問題が発生しています。サイト管理者のメールを確認して指示に従ってください。」画面になったので、数日前に使用したWP-CLIを使用してプラグインをdeactivateする。

これで検索は出来るようになったので、もうこれでいいか(・∀・)と思ったが、折角なのでもう少し調べるw


mb_convert_kana()

詰まるところ、php-mbstringが入っていないのが問題だった模様。

sudo apt install php-mbstring
sudo service apache2 restart

とかしたら、「WP Multibyte Patch」を動かしたままでも、検索が出来るようになった。

インストール後に何かしないといけないのかと思ったが、そんなこともなく。

php -i | grep mbstring

してみたら、何行かphp.iniに設定が追加されていた。
自動でやってくれたのだろう、多分。
ちなみにインストール前には一行くらいしか該当行(“Multibyte decoding support using mbstring => disabled”)がなかった。

参考:
[PHP] mb_convert_kana() / mb_convert_encoding() などが使えずエラーが発生する時の対処法
php環境構築時に入れ忘れてコケるやーつ…。


何はともあれ一応解決したみたいではある(・∀・)