今日は来客やら何やらで後回しにしてしまって本当にごめんなさい。
以前、同じ会社にお勤めしていた先生が起こした会社のHPが、真っ白になってしまってどうしようというご相談を受けました。
死の真っ白画面
ネットでwordpress 真っ白と検索すると、「死の真っ白画面」なんて書いてあってビックリです。管理画面も開けないんです。確かに死の真っ白画面という意味、よくわかります。
業者さんにも相談して見積もりを出してもらっていたので、私がやってしくじって取り返しがつかなかったら申し訳ないので、プロに任せてはと提案はしたのですが、失敗してもいいのでやってみてと言われたので、やってしまいました(笑)
こういう失敗してもいい場面は大好きなので、遠慮なく挑戦させていただきました😊
エラーログを確認
まずはエラーログを確認。ワードプレスにもエラーを確認する方法はあるのですが、先にログを見るクセが私にはあるので、何も考えずエラーログをチェック。
mod_fcgid: stderr: PHP Fatal error: Uncaught Error: Call to undefined function register_block_type_from_metadata() in /○○/○○/○○○○.com/public_html/wp-includes/blocks/archives.php:119
こんなログがいくつかありました。
Fatal errorにUncaught Error、日本語で言えば致命的なエラーに対応できてないエラー。
致命的なエラーに対応できていませんてことだと思います。
Call to undefined function ・・・
定義されていない関数を呼び出しました。簡単に言うと、そんな関数知らないよというわけですね。
そして、「archives.php」を確認してみたのですが、特にエラーっぽい記述も見当たらず、とりあえず、ファイルを上書きすれば直るかなというとで、手動更新の方法を調べてみました。
手動更新
参考にしたのは「WordPress のアップグレード」公式のサポートです。
ありました。手動更新の方法😊
当然ですが、ワードプレスのファイルをダウンロードしてきます。
この時、最新ではなく使用されているワードプレスと同じバージョンのものをダウンロードしてきます。
バージョンは”wp-includes/version.php”内を確認。
真っ白で管理画面にさえログインできませんでしたから、ファイルを直接開いて確認するしかないですね。
以下、手順通り全部やろうと思ったのですが、プラグインが止まっているかどうかもよくわかりませんし、アクセスしようがないのでおそらく動いていることもないだろうということで、以下を実行。
いきなり削除するのも怖かったのでというか、プログラマ時代の会社のルールでファイルやフォルダを削除する前に、古いものには”#”をつけて戻せるようにしておきました。
戻っても真っ白なんですけどね。。(笑)
そして以下を実行します。
- FTPもしくは shell アクセス経由で、ホスト上にある古い
wp-includes
およびwp-admin
ディレクトリを削除します。 - FTPもしくは shell アクセス経由で新しい
wp-includes
およびwp-admin
ディレクトリをアップロードし、削除したディレクトリがあった位置に置きます。
ただ単に展開したフォルダをアップロードするだけです。
要はwp-includesとwp-adminの2つのフォルダをアップしただけです。
ここで作業が完了しました。
一応、HPを更新するとページが表示されました。
たまたまうまく行っただけかもしれませんが、管理画面にもログインでき、普通に使えているようなのでここで作業は終了。
いい勉強になりました😊