先日、WordPress をアップデートしたらエラーが激増。
ダッシュボードにはエラー表示はありませんでしたが、サイトの表示が激重な時がありました。
エラーのチェックと修正
エックスサーバーの場合はサーバーパネルの「エラーログ」をダウンロードすると確認することができます。
なんかいっぱい書いてある…PHP7.2にアップデートした時もエラーが表示されたのですが、3倍に増えました。
エラーは3つあり、そのうちの2つはこれ。
AH01068: Got bogus version 111
AH01068: Got bogus version 101
このエラーは「AH01068: Got bogus version エラーの対処法(エックスサーバー) – サーバー構築と設定 ~初心者にも分かりやすく解説~」を拝読したところ、Xアクセラレータのバージョン2が原因とのことでした。
「Xアクセラレータ」はWebサイトを高速・安定化させるための機能
- Xアクセラレータ Ver.1 … 静的ファイルの高速化(キャッシュ)
- Xアクセラレータ Ver.2 … 静的ファイルの高速化(キャッシュ)+PHPプログラムの高速化
もう1つのエラーはこちら。
AH01071: Got error 'PHP message: PHP Warning
count(): Parameter must be an array or an object that implements Countable in ユーザー名 public_html/wp-includes/post-template.php on line 317'
Google翻訳によると「PHP警告:count():パラメータは、Countableを実装する配列またはオブジェクトである必要があります」とのこと。なんのこっちゃ。
指定された「post-template.php」の317行目を見てみました。
こう書かれてありました。
if ( $elements['page'] count( $elements['pages'] ) ) {
前後はこんな感じ。
// If the requested page doesn't exist. if ( $elements['page'] count( $elements['pages'] ) ) { // Give them the highest numbered page that DOES exist. $elements['page'] = count( $elements['pages'] ); }
まあ、count()のパラメータの値を変更すれば良いのでしょうが、いまいち分からず。
そして、「Xアクセラレータ Cocoon 高速化」でGoogle検索してみたら、Cocoonフォーラムの「Xサーバーの『 Xアクセラレータに関わる不具合』についての対応」がヒットしました。
それを拝読し「もしかしたらXアクセラレータとCocoonの高速化機能が干渉し合っているのかも」と思ったので、試しにCocoonのブラウザキャッシュの有効化のチェックを外してみました。
翌日エラーチェックしたら解決!
1つだけ「AH01068: Got bogus version 112, referer: https://www.google.com/」エラーが表示されていましたが、サイトに問題が発生していなければ放置で良いそうです。
This is the Apache bug 49671, which has been fixed in Apache version 2.4.16.
These error messages can be safely ignored – there are no consequences for the website.
Error in domain’s Apache error log: AH01068: Got bogus version – Plesk Help Center
WordPressエラーは意外と単純な原因が多い
PHPは詳しい人以外はむやみに変更しない方が良いかと。間違えたらWordPressが壊れます。
「AH01071: Got error」などと検索すると「PHPを書き換えた」サイトも見受けられます。
間違いではありませんが修復方法は個々のバージョンによっても異なるので、サイトに特に影響がなくあまり詳しくない人は「とりあえず放置」する方が賢明。原因は経験を重ねるうちに分かってきます。
結局エラーの原因は分かりませんでしたが、エラーが解消されればもう良いです。
Xアクセラレータのバージョンを2→1に変える
当サイトではCocoonのブラウザキャッシュを外しましたが、Cocoonは変更せず「Xアクセラレータのバージョンを2→1」に変えてもエラーは解消されるようです。
キャッシュ系のプラグイン…
個人的には、Cocoonなどでキャッシュを設定している場合は、キャッシュ系のプラグインは入れない方が無難かと思います(絶対ではありませんが)。