【WordPress】PHP8.2で動作させる方法

緊急告知!

本ブログは後の検証で正しい解決方法ではないことが判明しました。
自分はこの方法で解決しましたが、この対策を元に戻しても表示可能である事に気付きました。
従って動作の不具合の原因は他に在る可能性があります。

GMOデジロック株式会社のレンタルサーバー CORESERVER V2上でWordPressを使用したWebサイト運営に関する備忘録である。
自分はあらゆる問題を自力で解決できるスキルは持っているのだが、その解法を直ぐに忘れてしまう。
同じ轍に何度も嵌り、その度に「あれ?コレ以前に解決しなかったっけ?」の繰り返しである。(笑)
ならば備忘録を残して未来のお馬鹿さんに教えてあげようと言う魂胆だ。
まあ、備忘録の存在自体を忘れちゃうんだろうなぁ…多分。

もくじ

レンタルサーバーがPHP8.2に正式対応した

コントロールパネルのダッシュボード画面
コントロールパネルのダッシュボード画面
レンタルサーバーのお知らせ欄にPHP8.2に正式対応というのを見つけた。
PHPはWordPressの3種の神器である、Apache,MySQL,PHPの一つでプログラム言語である。
WordPressに限らずWebサーバーにとってとても重要だったりする。
そのためセキュリティ対策を中心に絶えずバージョンアップを繰り返している。
PHP8.2は2022年12月8日にリリースされた最新版である。

WordPressユーザーはサードパーティのテーマやプラグインを導入しており、それらが最新のPHPに対応するのを待たなくてはならない。
WordPressの上級者になればなるほど、PHPの更新を放ったらかしの場合が多い。
動作の検証には膨大な労力が必要であり、管理するサイトが多ければ更に困難を極める。
Webサイトの実動性を最優先に考えれば、3種の神器の更新程リスクの高い作業はないのだ。

一方🐸はヘタレWebサイト管理者なので、そんなリスクなどお構いなしで常に最新バージョンを導入してしまう。
一応リスクへの対策としてWordPress純正のテーマだけを使用し、プラグインの使用も最小限に留めている。
まあ昔から単にせっかちで新し物好きなのだ。(笑)

PHP8.2へ上げるとエラーでWordPressが真っ白に‼️

実はPHP8.1へのバージョンアップの時は何の問題もなかった。
0.1のマイナーバージョンアップなら何の問題も無いだろうと鷹を括っていた。

作業としては、サーバーの標準のPHPのバージョンを8.2へ設定変更するワンアクションのみである。

ところが、今回は非常事態が発生した。
Webサイトに於いて最悪の事態、「真っ白状態」である。
余りの動揺に証拠写真すら撮り忘れた。(笑)

直ぐに原因追及を始めるとある事に気付いた。
PHP Extensionsのチェック項目がビミョーに違うのだ。

恥ずかしながらPHPは全く分からない。
ネット情報によれば、PHPには拡張機能が存在し必要に応じて追加して使用するらしい。
恐らくWordPressも何かの拡張機能を使用しているのだろう。

レンタルサーバー会社のサポートへ連絡

ここである疑問が生じた。
上図のチェックボックス項目はデフォルト状態で既に設定されている。
一体これは誰が決めたのか?
早速レンタルサーバー会社のサポートに問い合わせた。

PHP8.1とPHP8.2でExtensionsのデフォルトの設定項目が若干違うのだが、コレは誰が決めているのですか?

PHPの仕様になってます。

PHPの標準化団体みたいなのが決めていると言う事ですか?

左様でございます。

サーバーのPHPのバージョンを8.2に上げたらWordPressがエラーになってしまった。コレは誰が解決する問題ですか?

弊社サーバーにWordPressを導入したお客様がPHP対応状況を確認して対応して頂く問題です。

……….



要点は以下の様になる

  • PHP Extensionsのデフォルトの設定項目はPHPが決めている。
  • 別にWordPressの動作を考慮・保証している訳ではない。
  • PHPバージョンアップによる不具合は(PHPが必須の)WordPressを使うユーザーが解決する問題。

犯人はPHP Extensionsの設定?

上図のPHP8.1とPHP8.2のPHP Extensions設定項目を見比べるといくつかの違いがあった。
  • pdo_mysqlのチェック:8.1 、8.2項目自体がない
  • sqlite3のチェック:8.1 、8.2項目自体がない
  • xmlwriterのチェック:8.1 、8.2
設定項目自体が無ければチェックのしようも無いのでお手上げ状態だ。
しかし関係がありそうな設定項目を見つけた。
  • nd_pdo_mysqlのチェック:8.1 、8.2
コレは如何にも怪しい。
この余計な「nd」とは何なのか?
PHP公式マニュアルによれば、PHP Extensionsとは拡張モジュールの事らしい。
そしてこれらのモジュールはMySQL Native Driverの使用が推奨されている。
ん⁉️もしかしてndってNative Driverの略では?
8.2ではpdo_mysqlの代わりにnd_pdo_mysqlにチェックを入れないといけないのでは?

兎に角違いが4つしか無いなら、しらみ潰しでも然程労力は要らない。
幸運にも最初にnd_pdo_mysqlのチェックを入れたらWebサイトの真っ白状態は解消された。

CORESERVER V2はおすすめ出来るレンタルサーバー

WordPressでWebサイトやブログを構築したいと思っている方は多いと思う。
その場合レンタルサーバーを使うのが一般的で、圧倒的大多数はそうしている。

自分はGMOデジロック株式会社のレンタルサーバー CORESERVER V2というプランを使っている。
オリジナルドメインを取得する時、たまたまバリュードメインから購入し、その同じ会社のレンタルサーバーという訳だ。

レンタルサーバーと言えば、エックスサーバーやさくらやロリポップが有名だ。
さくらは会社の企業サイトで使っていたがサポートがしっかりしていてとても良い印象がある。

このテのサービスは絶対にサポートの質で選ぶべきである。
その点GMOデジロックのサポートも非常にレベルが高い。
以前日本語ドメインの運用に関して問い合わせた時も迅速かつ的確な回答に舌を巻いた記憶がある。

今回の問い合わせでもものの見事に即答してくれた。
IT業界の雄AppleCareの電話サポートも超ハイレベルだが、弱点は一つ訊くたびに詳しいマニュアルを調べるためにやたら待たされる点にある。
どんなに難問でも最終的には上級テクニカルサポートが登場して解決力と的確さでは群を抜くけど、迅速とは言い難い。

少なくともPHP Extensionsの設定は誰が決めているかを即答できるレベルじゃないとキビシイと思う。
  • 自分が契約したCORESERVER V2は業界最先端のサービスで高性能CPUやSSDを使用した異次元の高性能サーバー
    WordPress環境で他に差をつけたい拘りさんは絶対にCORESERVER V2!
  • PHP8.2のリリースが2022年12月8日で、2023年1月25日正式対応は新技術の対応が迅速で評価できると思う。
  • あとコレはいずれ別途紹介したいが、WordPressの導入・保守が非常に簡単なのは激推しだ。
    WordPressの導入や保守に苦労した事がある人なら余りの簡単さに涙がチョチョ切れるに違いない。(笑)

まとめ

2023年2月1日現在、
CORESERVER V2でのWordPress環境に於いて
標準PHPバージョンを8.2にバーションアップするとWordPressがエラーとなり動作しなくなる。
対策としてはPHP Extensionsの「nd_pdo_mysql」のチェックを入れる。
(8.1ではチェックになっていた「pdo_mysql」が8.2では項目自体がなくなった為、その代替としてチェックする)

【2023年4月30日追記】
別件でWordPressの不具合を検証中に上記「nd_pdo_mysql」のチェックを外しても動作する事をが判明しました。
従って不具合の原因は他にあった可能性があります。

各バージョン表:
  • WordPress:6.1.1
  • PHP:8.2
  • テーマ:Twenty Twenty-Three 1.0
  • プラグイン
    • Site Kit by Google:1.93.0
    • IndexNow:1.0.1
    • Font Awesome:4.3.2
    • Twitter:2.0.5
    • WPFront Scroll Top:2.0.7.08086
    • Limit Login Attempts Reloaded:2.25.11
以上

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

⚠️当サイトはアフィリエイト広告を利用しています