ある日、とあるWordPressサイトにログインすると、以下の重大なエラーが発生!

Parse error: syntax error, unexpected ‘print’ (T_PRINT), expecting identifier (T_STRING) in /home/xxxxxxxx/xxxxxx.com/public_html/wp-content/plugins/contact-form-7/admin/includes/welcome-panel.php on line 9

 

一応、サイトは閲覧できます。

がしかし、管理者としてログインできません。それゆえ、新規記事を投稿できませんし、読者からのコメントにも対応できないではありませんか。

そこで試しにエラー名でググってみたところ、こちらの神フォーラムがヒット。


どうやら世界中で同じ事象が発生しているらしく。この記事をさくっと読んでみると、

Contact Form 7というプラグインが原因であると判明。

こいつが現在のPHPのバージョンに対応していないというのです。

 

というわけで、PHPのバージョンをアップデートすることに。

調査の結果、なんとわたしが使用していたのは脆弱性たっぷりのPHP5.4。

利用中のエックスサーバーが「非推奨」としているバージョンではありませんか。

 

そこで急いでPHPのバージョンを7.4(エックスサーバー推奨)にアップデートしたところ、本エラーは一気に解消されたのです。

 

いやーまじありがたいですね、WordPressフォーラム。

 

というわけで、PHPのバージョンはプラグインの動作性を左右する非常に重要な要素です。

ゆえ、サイト運営者は定期的にPHPのバージョンを更新せねばなりません。

バージョンが違うだけでプラグインが動作せず、それが原因でサイトがぶっ壊れることもあるんですから。

 

というわけで、この問題が発生したサイトではだけではなく、残りのWordPressサイトもPHPバージョンを7.4にアップデートしてみました。

しかしながら、です。

今度は別サイトで次のやばそうなエラーが発生。

Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /home/xxxxxxxx/xxxxxx.com/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

どうやら「Crayon Syntax Highlighter」というプラグインがアップデート後のPHP7.4に対応していないようです。

こ、これは・・・・!

ということで、この古臭いプラグインを消去するため、PHPバージョンをかつてのバージョンに戻し、管理画面にログイン。

その後、問題のプラグインを削除し、再度PHPのバージョンを更新。

これでなんとかエラーを解消できました。

PHPのバージョンもエックスサーバー推奨に変更できましたとさ。

 

WordPressにとってPHPのバージョンはサイトの命を握る非常に重要なものです。

そして、古い更新されないプラグインを使い続けることは危険です。

定期的にプラグイン一覧も見直し、断捨離を行っていくべきだべきだったのです。

 

わたしと同じエラーを抱えてしまったら、

  • PHPのバージョンアップ
  • 古めかしいプラグインを削除

という施策をとってみてください。

 

それでは!

Lin