--.--
--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

04.02
Tue

僕が管理しているサイトのリニューアルをしたときにWordpressでinternal server error(500)が出ました。
今わかったことだけ書きます。
結構切羽詰まってます。

2013040200:50頃、サイトにアクセスするとinternal server errorと表示される事案発生。
別のデーターベースで管理しているwikiは正常稼働していた。

ひとまず、サーバー上のファイルすべてローカルに保存。当然DBもバックアップをとった。データベースはphpMyAdminを使ってバックアップを取った。

サーバーはxrea.com。同じサーバーを使っているサイトは動いていた。サーバーの障害ではないことがわかる。当然サーバー障害情報も告知されていなかった。

  • インストールしたテーマ(BizVektorテーマ)がWordPress 3.3以降対応なのに、3.2.1にインストールしてしまった。
  • phpMyAdminでDBの最適化、修復を試みるも改善されず。
    • chrome ver.25でバックアップしたDBデータ(15MBほどのSQLデータ)をインポートしようとすると、PCごと落ちる。
    • IE9.0.14でインポート可能。
  • wp-config.phpにdefine('WP_DEBUG', true);を追加するもエラー内容すら表示されない。
  • wp-admin/にも入れない。500 internal server error
  • .httaccessの文字コードはUTF-8Nで正常。
  • .httaccessにPHPのエラーログを出力するもエラーログが書きだされない。出力先のファイルパーミッションは666に変更済み。

Retinaディスプレイ用にhtaccessを更新していたので、httaccessファイルをできるだけシンプルに修正。wordpressの設定と、phpをCGIモードで動作させる記述のみ。

2013040222:52にデータベース接続エラーと吐かれた。

wp-config.phpの「接続先DB名」が間違っていたため、修正するとデータベース接続エラーとは表示されなくなった。その代わりに

Fatal error: Call to a member function register_handler() on a non-object in /virtual/*****/public_html/********/wp-includes/media.php on line 953
が表示された。

2013040300:24頃、media.phpの記述がおかしいことがわかったので、最新のwordpressをダウンロード(この時点で3.5.1)してきて、wp-includesフォルダごと上書き。

最新のwordpressのトップディレクトリもコピーして上書き。wp-config.php以外。

そのあとサイトにアクセスするとブランクページ(ソースが何も記述されておらず、真っ白)になった。
管理者ページに入ろうと、URL後ろに/wp-admin/をつけたところ、403 forbiddenと表示された。

この時点で真っ白になったときの対処法ページをたくさん見つけていたので修復の兆しが見えてくた。

コアファイル(wp-adminとwp-includes)を最新wordpressで上書きしたところ、403がなくなり、管理画面に入れた。

データベースをエクスポートして、新たにデータベースを作成。
wp-config.phpの設定を新しいデータベースに書きなおした。そのデータベースにインポートしたら、治った。

原因はよくわからなかった。

関連記事

comment 0 trackback 0
トラックバックURL
http://watashihayamagi.blog74.fc2.com/tb.php/733-2215c5c7
トラックバック
コメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。