PHP7.2にしたらWarning: count()が出たので参考サイトまとめ

PHP7.2にしたらWarning: count()が出たので参考サイトまとめた

Xアクセラレータ Ver.2にしよー!と思ってPHP7.2にしたところつまづいたのでメモ。

※ほぼ参考にしたサイトへのリンクです

PHP7.2でないとXアクセラレータ Ver.2が使えない

設定しようとしたら「PHP7.2でないと使えないよー」的なメッセージが。はいはいっとPHP7.2に変える。

ウッキウキでXアクセラレータ Ver.2にしたら

ブログ上部に英語でエラーメッセージが

リアルにこんな顔になったし動揺してスクショ取り忘れた。

ググったら対策が見つかったのでリンク載せときます。

この2つをしてからPHP7.2に変更→Xアクセラレータ Ver.2としたらうまくいきました。一安心!

FTPソフトを使おう

FTPソフトで必要なファイルをコピー → 元ファイルを更にコピーしてから編集すると安全

素人はWordPressから直編集したらダメですよ。必ずFTPソフト使いましょ。

元ファイルと編集用ファイルで分けておけばコピペミスしてもすぐリカバリーできますからね。

post-template.phpの編集

よくよくエラーメッセージを追っていくと、原因になっているファイルの場所がわかるようになっています。

上の記事を参考に、

  • ①元ファイルの修正箇所をコピー
  • ②編集用ファイルを開く
  • ③Ctrl Fで位置を検索
  • ④正しいコードに変える

これで大丈夫です。コピー範囲や貼付ミスにだけ注意。

キャッシュクリア後もエラーメッセージが出る場合は次に進みます。

WordPress Ping Optimizer

推奨されていないのですが、このプラグインの該当箇所を編集すると直ります。

削除してもいいのですが今のところ使える方が安心なので。

public_htmlwp-contentpluginswordpress-ping-optimizerに進んで cbnet-ping-optimizer.phpをコピーします。

後は先ほど同様に編集するだけ。

参考にしたサイトから必要な部分だけ引用させてもらいました。必ずリンク元も確認しておいてください。


応急処置としては下記のように変更するといいかと思います。
$pingCount=count($this->cbnetpo_future_pings);

$pingCount = $this->cbnetpo_future_pings ? count( $this->cbnetpo_future_pings ) : 0;

「WordPress Ping Optimizer」がPHP7.2でエラーを出す件について | WordPress.org

ここまで終わったらエックスサーバーに戻ります。

PHP7.2に変更して再確認

再度PHP7.2に変更してブログを確認。キャッシュクリアもしてエラーメッセージが出ていなければ大丈夫です。

あとはXアクセラレータ Ver.2にするだけ。

お疲れさまでした!

余談 ※Snow Monkeyのみ

Snow Monkey使ってるのですが、一連の作業後なぜか新記事がトップページに表示されなくなるという現象が発生。カテゴリーページの表示は問題なし。

キャッシュ消して再読み込みしてもダメでした。

ひとつ非公開にしていた記事があったので、一度公開。次にカスタマイズからページ速度最適化のチェックを外そうとしたら(※Xアクセラレータ Ver.2と競合してるかもと思ったので)なぜか直ってました。

その記事は作成途中だったので再度非公開にして保存。新記事 – 非公開記事 – 過去記事みたいな並びになってたのがダメだったのか、はたまた何らかのタイムラグが生じてただけだったのか。

Xアクセラレータ Ver.2にした直後からWordPressの読み込みが遅くなったので後者かなと思ってます。今は普通に使えてるので。

なんにせよサポートフォーラムで質問する前に解決してよかったです。最悪PHPのバージョンを落としてXアクセラレータ Ver.1にするつもりでしたからね。

多少つまづきましたが、PHPなどは新しいバージョンにしておくに越したことはないのでやれる時にやっておくのがおすすめです~

この記事を書いた人

ホシタニ