bitcoin変動中!初めての口座開設はビットフライヤーがおすすめです

WordPressの管理画面が真っ白になったらhash関数を疑おう

だいたい 4 分で読めます。

WordPressの画面が真っ白になった時は、hashの設定を疑いましよう。

 

WordPressアップグレードする場合は注意

前々からWordPresss最新版へのアップグレードをやろうと思っていました。

エリアターゲットの管理サイトが4つあります。それぞれのwordpressのバージョンが統一されていなかったので、「wordpress3.9.2」のバージョンで統一しようと思っていました。

WordPress4.0へのアップグレードのお知らせが来てしまって、管理画面から簡単に3.9.2へのアップグレードができなくなってしまいました。

最新版にしか、wordpress管理画面からはアップグレードできません。

旧バージョン(3.9.2)へのアップグレードも出来ないことはないのですが、手作業やるのは手間がかかる。

だったら、セキュリティ改善が入ったWordPress4.0環境で全てのサイトが動かせればいいな、と思いました

データベースとコンテンツのバックアップをとって、ダッシュボードから更新ボタンをクリック。

 

突如、管理画面ログイン以降、画面が真っ白に

 

デバックモードで原因を特定する

デバッグモードの出番、早速来たねこれ。

参照:WORDPRESS 500内部エラーの詳細を調べる方法

wp-config.phpに一文入れるんでしたよね。

wp-config.php

コード
MARKDOWN_HASHf425fec7251cefa09ebf9f1262aea736MARKDOWN_HASH

 

 

今回は、こんな場合を想定してバックアップもしっかりとっていたので、比較的焦りはありませんよ。

焦りはありません。そう、焦りはありません。

 

ほら、エラーメッセージが表示されましたね。

Fatal error: Call to undefined function hash() in /XXXXXXXX/wp-includes/session.php on line 64

Google先生の翻訳によると、

「致命的なエラーでてるね、未定義の関数hash()を呼び出しているよ、そんな関数、あんたの使ってるサーバーにないよ。」

そんな感じらしいです。

そんなこと言われても困るので、

「Fatal error: Call to undefined function hash() in」

でググってみたところ、wordpressフォーラムで全く同じ内容の投稿が。しかも解決済みではありませんか。

PHP5.2ならデフォルトでhashが使える筈ですが…一つ可能性として
コマンドラインから

$ php -i

またはphpinfoでhashが有効になってるか確かめてみてください…

(hash support : enabled)

(http://ja.forums.wordpress.org/topic/138806)

うちのサーバーの要件はコチラ。

  • php5.3.19
  • mySQL 5.0.X

 

php5.2以上なので、デフォルトでHashが使えるはずなのですが動いていないのか。

hashを確認する方法

Hashが有効になっていない可能性があるので、phpを確認してみました。

test.php

 <!--?php echo <span class="hiddenSpellError" pre="echo " data-mce-bogus="1"-->phpinfo(); ?>

これを適当な箇所に放り込んで、ブラウザ上からphpコマンドを 実行。ブラウザで対象ファイルを保存した箇所を入力

http://xxxx.com/…/test.php

 

 

結果:ファーストサーバーでは、このコマンドは使わせてくれませんでした。(http://support.fsv.jp/manual/php/outpinfo.html)

ファーストサーバーでは、コンフィグレーターというところで確認ができるようです。

 

調べていくと、そもそもHashの項目がない。

まさにフォーラムの質問者と同じ状態に陥る。

 

というわけで、運営会社のファーストサーバーにHashをインストールする依頼を提出しました。

一日目はここで終了。

返信、対応があまりに遅い場合は、用意していたバックアップを使ってwordpress3.9.2へダウングレードすることで今回の修正とします。

今後懸念される問題点

WordPress4.0を諦めるとなっても、他のサイトも旧バージョン(wordpress3.9.2)にアップグレードしなければならず、結構面倒(´・ω・`)

ダウングレードでは根本の問題は解決してなく、セキュリティの観点からも、

いずれはWordpressのバージョンを上げる必要があるため、今回ファーストサーバーから良い返事を貰えなければサーバー乗り換えも視野に入れて検討する必要あり。更に面倒(´・ω・`)

 


後日、ファーストサーバーから連絡がきた

hash関数を有効化するには、運営にお願いをする必要があったようです。

以下内容抜粋

お知らせの内容をもとにご契約サーバーのエラーログを確認したところ、
以下のエラー記録がございました。

——————————————————————
■エラーログ(error_log)一部抜粋
——————————————————————
[Wed Oct 22 17:11:55 2014] [error] PHP Fatal error: Call to undefined function hash() in /XXXXXX/wp-includes/session.php on line 64

・ログの保存先・種類
http://support.fsv.jp/manual/analysis/log/log.html

・アクセスエラーログ確認方法
http://support.fsv.jp/manual/analysis/log/check/error.html
——————————————————————

上記記録につきまして、先日公開された「WordPress 4.0」ではWordPress
を動作させるためのPHPにて、新たにhash関数が必要な状況でございますが、
昨日【10月22日(水)】時点でご契約のサーバーではhash関数は無効となって
いたために、事象が発生したものと存じます。

なお、hash関数につきましては昨晩弊社にて作業を行わせていただき、
有効化対応が完了しておりますので、お手数をおかけいたしますが、
ご契約サーバーにて WordPress4.0 へのログインが可能かお試しいた
だけますでしょうか。

早急な対応により、解決しました。

ありがたやファーストサーバー。しかし、この事例、多くないのですかね。

コメントを残す