【wordpressエラー原因】Parse error: syntax error画面真っ白は、プラグインorサーバーのPHPバージョンが合わない

      2021/02/27   2025文字

【wordpressエラー原因】Parse error: syntax error画面真っ白は、プラグインorサーバーのPHPバージョンが合わない

今回はwordpressサイトでよくある『プラグインがParse error: syntax error吐き出して画面真っ白状態』にしてみて、原因を調べました。覚えておくと復旧するときに役に立つかもしれません。さっそくエラー真っ白画面にして原因を調べてみましょう。

エラーを起こしてみた状況(Parse error: syntax error)

さっそくやりました(笑)テスト用にインストールしてたサイトです。Parse error: syntax errorで、
原因は『PDFライトビューワー内のcontrollers/plugin.php・265行目』だということです。エラーメッセージをみてみると、『解決のために何をしらべればよいかわかる』ということが多いです(どうしようもないもの以外)。

なお、いつもは正しく表示されていましたが(該当のサイトはこのぶろぐの別フォルダにいれていたものです)
『sounds-stella.jp/インストールフォルダ/』ではなく、ロリポサーバーのドメインである
『sounds-stella.main.jp/インストールフォルダ/』
でアクセスしたところ、このエラーがでました。

エラーのチェック(プラグイン・サーバー設定など)

エラーが出た行を見てみよう


で、エラーメッセージがでたプラグインの構成ファイル『PDFライトビューワー内のcontrollers/plugin.php』
$pdf_format_support = static::getPDFFormatSupport();』とかかれています。

独自ドメインでない環境だと、サーバーPHPバージョンがどうなっているか?

で、エラーがでた環境が『独自ドメインじゃなくて、sounds-stella.main.jp/インストールフォルダ/』というアクセスだったことから、サーバーの設定も確認してみました。独自ドメイン・サーバーに元からついてきたドメイン・サブドメインごとに、PHPバージョンを設定できます。



『sounds-stella.jp→モジュール版PHP5.6』
『sounds-stella.main.jp→CGI版PHP5.2』

となっています。これじゃねえかな原因(笑)

原因:PHP5.3より前バージョンだと、読めない書き方があった(static::みたいな、スコープ定義演算子)

で、エラーメッセを見て検索したら、原因がわかりました。海外の質問サイト(英語です)にも、Parse error: syntax errorを起こした人がいました。そのトピックの回答によると『static::○○みたいな書き方(スコープ定義演算子)は、PHP5.3以降じゃないと読めない』だそうです。

プラグインのエラー箇所にこの表記がされており、かつ『main.jpドメインのバージョンがCGI版PHP5.2』だったことから、5.3以降の書き方は読めなくてエラーを出してしまいました。これは、サーバー側でバージョンを上げることで対処できます。

あとがき・今回のエラー原因まとめ

  • main.jpドメインでアクセスしたら、wordpressでParse error: syntax errorが出た
  • エラーが出たプラグインの該当箇所にstatic::getPDFFormatSupport();
  • main.jpドメインのバージョンがCGI版PHP5.2
  • 該当箇所の書き方(スコープ定義演算子)はPHP5.3以降じゃないと読めない

今回のエラー実験をまとめるとこんなかたちになります。プラグイン・テーマ・コアのバージョンと、サーバー側PHPバージョンが合わなくてエラーというのは、結構発生してると思います
エラーメッセが出て画面が真っ白になるとめちゃめちゃ焦りますが、メッセの該当箇所やサーバー設定、バージョンなどを確認していくと、復旧できると思いますので、落ち着いてみていきましょう。


【カテゴリ】 - サイトエラー対策と復旧(wp/php/css)
【タグ】 -

  関連記事

【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例
WordPressの手動インストール方法(自動インストールがない、あるいはエラーの場合)
CSSの『Expected RBRACE 』エラーって何なの?(WordPress4.9で判明)
【WordPress・WP_Query】おすすめ関連記事が、いつも同じものしか出ません→パラメーターorderbyに『rand』でランダム表示
【ログインページが404】ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す
WordPressサイトヘルスを『改善が必要→良好』にしたいけど、どうすれば良い?(プラグイン・テーマ・WP/PHPバージョンアップデート)
MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】
WordPress構成ファイルのxmlrpc.phpを無効化する方法【実は攻撃されやすい】
フラッシュ形式のオーディオ・動画プレイヤーが表示されません(Adobe Flash Player終了)
スマホWordPressアプリでログインや、記事更新ができません→xmlrpc無効化してるとできませんが、セキュリティ上必要なこともあります
【WordPress】PHPバージョン、いきなり変えて大丈夫?不安なら公開前にローカルテスト
【WordPress4.9.7でのエラー検出】子テーマでindex.phpやCSSヘッダが無いときの『テーマが壊れています』表示への対策