WordPress管理画面のレイアウトが崩れる現象の対処法

パズル

私の運営している、全ブログのWordPress管理画面のレイアウトが白くグチャグチャになってしまう不具合が発生しました。

WordPressのおかしくなった管理画面

この現象の対処法がわかったので書きたいと思います。

スポンサーリンク
カマドログ基本レクタングル(大)

起こったこと・試みた対処

時系列風に書いていきます。

2016年7月6日朝:管理画面の一部のレイアウトがおかしくなる

この日の深夜から早朝に私の借りているカゴヤサーバーがPHPバージョンを5.5から5.6にするメンテナンスがあったのでその影響で少しおかしくなったのかな? と予想。

更新確認画面などの一部だったので時間がたてば直るだろうと放置。

2016年7月6日夜:ブラウザのキャッシュを消す+カゴヤに質問

ふと以前のバージョンのキャッシュが悪さをしているのかな? と思い、ブラウザキャッシュを消去。全ての管理画面が上画像の状態に……。

いろいろ調べてみても、管理画面が真っ白になる現象ばかりで対処法がわからず。以下の質問をカゴヤのサーバー管理画面にある緊急サポートフォームに送る。

現在運営しているWordPressブログの 「もうひとつのブログURL」 と http://kamadolog.com/ 両方のWordPress管理画面が2016年7月6日の朝から白くなっていて、テキストとリンクは消えていないのですが、レイアウトがグチャグチャになってしまっています。

いろいろ対処法を調べてみても同じような症状が見つからず困っています。

日付から察するにPHPのバージョンアップの問題かと思いこちらで質問させていただきます。

「白くなっていて」とか頭悪そうな文章ですが……。明日の朝、昼くらいに返事が来るかな? と予想しながらひとまず就寝。

2016年7月7日朝:カゴヤからメール+原因特定

メールを確認してみると、質問を送った数十分後の2:02に返信が来ていてビックリ。

契約サーバーの割り当てメモリーを調節した。表示が正常になったか確認してくれ。直らないのならログイン用のURLとユーザ名、パスワードを教えて。といった答えが。※実際はもっと丁寧ですよ。

まあ直っていなかったのですが、メールでパスワードなどを送るのに抵抗がありました。で、ぐだぐだしていると、カゴヤの障害情報にバージョンアップの不具合があるとの情報を発見。

対処法として、PHPバージョンを5.5に下げるというものがあり、実行してみるとあっさり直りました。この段階でPHPのバージョンアップが原因とほぼ断定。しかし、サポートが終わるものを使い続けるのはまずいと思い、結局メールを返信。内容は

復旧していません。
7月6日の障害情報に書かれているPHPのバージョンを5.5の戻す記述を実施したら直りました。
古いバージョンを使うしか対処法がないのでしょうか?
現在はバージョンを戻す.htaccessは削除しています。

+サイトのユーザ名とパスワードを書きました。

2016年7月7日:カゴヤから返信メール2が到着+一応解決

推定される原因のひとうとして WordPress のバージョンが古い可能性が。

しかし WordPress のバージョンは最新。バックアップを取って WordPressの自動再インストールをしてみたけれど変化なし。

そして、もうひとつの原因に output_handler に mb_output_handler が指定されている可能性があるとのこと。

メールの一部をそのまま引用すると。

wp-admin/load-scripts.php などで利用している output_handler に
mb_output_handler を指定しております。
mb_output_handler は出力時に、指定の文字エンコーディングへと変換するハンドラです。
自動的に文字エンコーディング変換していますが、PHPのバージョンアップにより
エンコーディングする仕様が厳密になりましたので、エラーに直結している
ようです。

とりあえず wp-admin/load-scripts.php をチェック。 output_handler の文字はあるけれど、 mb_output_handler の表記はなし。よくわからない……。

つぎは、mb_output_handler や output_handler でググッてみる。すると、現象は違うけれど管理画面関係の不具合の記事が。そのページに書かれていたコメントのとおり output_handler をオフにすると管理画面が元通りになりました!

そんなことどうでもいいから具体的な直し方は?

WordPressをインストールしているフォルダ(wp-adminフォルダとかが入っているフォルダ)の「.htaccess」に

php_value output_handler none

と追記する。これだけです。

素人目にもかなり強引っぽく感じるのですが、目立った不具合はありません。もっとうまいやり方があるような気がするので、わかる方は教えてくれると嬉しいです。

最後に念の為にパスワードの変更しました。

あと、カゴヤのサポートはスピーディーで素晴らしかったです。カゴヤさんありがとう!

スポンサーリンク
カマドログ基本レクタングル(大)
カマドログ基本レクタングル(大)

フォローする

Googleプラス
Push7
フェイスブック