icon
Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)

更新: 2024/02/17 2614文字

WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)

今回は、管理人がメインで使ってるweb製作ツールWordPressで、たまに発生するエラーから復旧した方法を紹介します。ちょっとしたエラーでサイト真っ白みたいなリスクがあります(WordPress勢の頭を悩ませるポイントです)。今回は、『WordPressテーマインストール時、エラーで画面真っ白』を復旧させる方法を、何通りか紹介します。

今回のWordPress・エラーで画面真っ白の概要(テーマインストール時に発生)

確かこのときは、新しくサイトをやる件で、『適切なテーマはどれか?』というので、いろいろなテーマを試していたわけです。定番の『スティンガーplus2』というのもありました。このサイトテーマには旧型のスティンガー5が入っているし、以前スティンガーplusも試しに入れてみて大丈夫だったので、特に気にしなかったんですけど・・・

なぜか、エラーで画面が真っ白に。画面の表示は『Parse error:Syntax Error (構文エラー)』みたいな表示が出て真っ白に。『ワードプレスよくある悲劇』のひとつです。ログインしてテーマをアンインストール・または『line○○』と場所がわかっているから、エラー箇所のphpを修正できればどうにかなりそうです。しかし『ログインなどのページもエラーメッセージだけで真っ白』みたいな感じ。

スティンガー5は大丈夫だったけど、バージョンによる相性とかもあるかもしれません(調査したところ、unexpected T_FUNCTIONがphpバージョンによって発生しているという事例もありました。)。さてどうしましょうか。

テーマインストール時のSyntax Error などで、WordPressが動かない場合の対処例

(バージョン変更できる場合)サーバーでPHPバージョン上げる

『Parse error:Syntax Error,unexpected T_FUNCTION』というエラーメッセージに注目しました。Anonymous functions (無名関数)というのがあるんですけど、古いバージョンPHP(5.2より前とか)だと動かなくてこのエラーになるらしいです。

その場合は、サーバー側でバージョンを上げて対応します。『プラグイン・テーマでバージョン合わないエラー』は結構出るのでおさえておきましょう。

(バージョン弄れない場合)エラー出してるphpコードを直す

(画像はイメージで、実際にエラーが起こったぶぶんとは違います。)エラー場所が出ているので(line○○など)、php書ける方は、この手法を行ってもよいでしょう。サーバーのPHPバージョンやエラー箇所の表記を確認し、検索したり書き換えたりします。これやデータベース弄りができると、どんなエラーが起こっても怖くなくなります。ただしハードルはブログ初心者などにはかなり高いけど(笑)

ただし、今回の記事のように『新しいテーマをインストールしたとき』の発生で、テーマファイル構造を押さえられていないときは、時間がかかります。

(最終手段)エラーが出たテーマ自体を、サーバーのftp画面から削除

今回発生したのが『テーマインストール時』という点に着目した、カンタンな方法。サーバーに『201708wp』という名前のフォルダを作ってワードプレスを入れたんですけど、『201708wp/wp-content/themes/』という部分に、テーマのデータが入っています。エラー吐き出したテーマを探しましょう。

管理画面にすら入れないなら、サーバーのftpから入って、このエラー吐き出したテーマを削除します。無理やりな方法ですが、これで管理画面は入れるようになり、『サイト真っ白』は避けることができました。

(2021追記)デフォルトテーマが入っている場合は、データベースからエラーテーマを無効化

こちらは追記です。『正しく動くWPデフォルトテーマが他に入っている』場合は、データベースから操作して正しく動くデフォルトテーマに戻すことが可能です。『wp_optionsテーブル・ option_name:template & stylesheet』を操作します。

詳しくは当サイトの関連記事を読んでみてください。

あとがき・まとめ

  • WordPressで、テーマインストール時にエラーになることがある
  • エラーメッセ『Parse error:Syntax Error,unexpected T_FUNCTION』は、PHPバージョン調整で対応
  • バージョン弄れない場合は、該当ファイル修正すればよいが、構造を理解していない場合時間がかかる
  • 正しく動くWPデフォルトテーマが他に入っている場合、FTPから該当テーマ削除・またはデータベースから戻す

まとめるとこのようなところでしょうか。特にデータベース戻しが使えると、エラー時の復旧がラクになりそうです。

このほかにも『WordPress url間違えて、かつ正しいバージョンを忘れたので、wp-config.phpを修正しようにもわからん』みたいなときに、『サーバーからエディットしたcssや、データベースから記事ぶっこ抜いて保存&新規インストールで乗り切った』『データベースからエラープラグインやテーマを切り替えた』みたいな事例もあるので今後紹介します。


【カテゴリ】- サイトエラー対策と復旧
【タグ】-

関連記事