WordPressテーマインストール時、エラーで画面真っ白を復旧させた方法(unexpected T_FUNCTION)
| 更新: 2024/02/17 | 2614文字
今回は、管理人がメインで使ってる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マニュアル・Anonymous functions (無名関数) https://www.php.net/manual/en/functions.anonymous.php
(バージョン弄れない場合)エラー出してるphpコードを直す
(画像はイメージで、実際にエラーが起こったぶぶんとは違います。)エラー場所が出ているので(line○○など)、php書ける方は、この手法を行ってもよいでしょう。サーバーのPHPバージョンやエラー箇所の表記を確認し、検索したり書き換えたりします。これやデータベース弄りができると、どんなエラーが起こっても怖くなくなります。ただしハードルはブログ初心者などにはかなり高いけど(笑)
ただし、今回の記事のように『新しいテーマをインストールしたとき』の発生で、テーマファイル構造を押さえられていないときは、時間がかかります。
(最終手段)エラーが出たテーマ自体を、サーバーのftp画面から削除
今回発生したのが『テーマインストール時』という点に着目した、カンタンな方法。サーバーに『201708wp』という名前のフォルダを作ってワードプレスを入れたんですけど、『201708wp/wp-content/themes/』という部分に、テーマのデータが入っています。エラー吐き出したテーマを探しましょう。
管理画面にすら入れないなら、サーバーのftpから入って、このエラー吐き出したテーマを削除します。無理やりな方法ですが、これで管理画面は入れるようになり、『サイト真っ白』は避けることができました。
(2021追記)デフォルトテーマが入っている場合は、データベースからエラーテーマを無効化
こちらは追記です。『正しく動くWPデフォルトテーマが他に入っている』場合は、データベースから操作して正しく動くデフォルトテーマに戻すことが可能です。『wp_optionsテーブル・ option_name:template & stylesheet』を操作します。
詳しくは当サイトの関連記事を読んでみてください。
MySQLデータベースからWordPressテーマ変更・プラグイン停止を行う方法
https://mmcd-web.sounds-stella.jp/archives/7415/deactivate-theme-and-plugins-from-the-database/
あとがき・まとめ
- WordPressで、テーマインストール時にエラーになることがある
- エラーメッセ『Parse error:Syntax Error,unexpected T_FUNCTION』は、PHPバージョン調整で対応
- バージョン弄れない場合は、該当ファイル修正すればよいが、構造を理解していない場合時間がかかる
- 正しく動くWPデフォルトテーマが他に入っている場合、FTPから該当テーマ削除・またはデータベースから戻す
まとめるとこのようなところでしょうか。特にデータベース戻しが使えると、エラー時の復旧がラクになりそうです。
このほかにも『WordPress url間違えて、かつ正しいバージョンを忘れたので、wp-config.phpを修正しようにもわからん』みたいなときに、『サーバーからエディットしたcssや、データベースから記事ぶっこ抜いて保存&新規インストールで乗り切った』『データベースからエラープラグインやテーマを切り替えた』みたいな事例もあるので今後紹介します。
【カテゴリ】- サイトエラー対策と復旧
【タグ】- WordPress