【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バージョンが合わなくてエラーというのは、結構発生してると思います
エラーメッセが出て画面が真っ白になるとめちゃめちゃ焦りますが、メッセの該当箇所やサーバー設定、バージョンなどを確認していくと、復旧できると思いますので、落ち着いてみていきましょう。

WordPressサイト制作&リニューアル・機能開発サービス | アトリエSS


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

  関連記事

WordPress 5.2がサーバーPHP5.6.2以下で動かなくなる事例~更新や閲覧はできる?バージョンアップの注意点は?
CSSの『Expected RBRACE 』エラーって何なの?(WordPress4.9で判明)
【WPテーマ不具合修正】Clarina(親llorix-one-lite)で、ブログ更新情報タイトルが二回出るのを直す
WordPress構成ファイルのxmlrpc.phpを無効化する方法【実は攻撃されやすい】
WPサイト接頭辞エラーまとめ~configやテーブル名変更・usermeta内の項目で、接頭辞不一致の場合
【wpプラグイン】コンタクトフォーム7の自動返信設定と、なぜか発生した文字化けの対処
【WordPress/エラー対策】プラグインbizcalendarが改造テーマで表示しない事例
WordPressをcookie関連設定でログイン不可能にしてみた(cookieブロック・トークン削除・ログイン成功cookie削除)
【WordPress】記事一覧にアイキャッチ画像が表示されません→150サムネが無いのに、the_post_thumbnailで指定されていました
フラッシュ形式のオーディオ・動画プレイヤーが表示されません(Adobe Flash Player終了)
【ログインページが404】ディレクトリやWordPress アドレス変更でログインできない場合は、データベースからログインできるアドレスに直す
MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法【エラー・管理画面に入れないときに】