ある日、とある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