Web関連, WordPress

HTTP500 Internal Server Errorで、phpうんぬんじゃなくてデータベース側がおかしかったらしい話(超面倒くさかった)

このポストは文字数 約:2043文字、約 4分で読めます。

仕事関係のWordPress使ったサイトで、HTTP ERROR 500が出てまして・・・。
いあ、まあ更新がン年ないとこだから打撃は少ないでしょうけど。
少ないよねたぶん。

データベース側に問題があるのが解るまでの一連の流れ

HTTP ERROR 500でまず疑う事

セオリー通りに下記をまず疑いました。
1.PHPの記述エラー
2.htaccessの記述エラー
3.パーミッションの間違い
4.サーバーへの過負荷

つうか、1と2と3は数年なんも触ってないのでいきなりエラーってことはない・・・と思うんですけどね。
更新してないから逆にってことはあるんでしょかね。(WP本体とプラグインはたまああに更新かけてましたが)
んで、4は同じサーバーにのっかってる他のWPサイト数サイト見たのですが、特に問題なし。
過負荷が問題なら、他のサイトも同じようになってないとおかしいのでこのセンはなし。

1に関してはとりあえず、configからデバッグモードオンにするとエラーが見られるらしいので・・・。
つうかオンにしてなくても、なんかエラーあったら表示されてた気がするんだけど(何行目の何がどーとか)気のせいか?

設定箇所ここな。falseをtrueにするといいよ。
で、サーバーにアップしたのはいいけど、

表示されねええええええええつか500エラーのまま!

キャッシュとかの問題か?
と思いまして、別のブラウザで見ても鎮座ましましているHTTP500 Internal Server Error。

ここでふと、ディスプレイエラーの事を思い出す

※ちなみにヘテムルサーバーの話なんで、他サーバーに関しては解りません。

iniの設定見に行ったはいいけど変更できねええええ
ってか、モード変えなきゃできるわけねええええ

モジュール版をcgi版へ変更。

onになってる。
でも、HTTP500 Internal Server Errorのまま!
はまじ、どうなっとん!
詰みだよもう詰んだよw

諦めたらそこで試合終了ですよ、ってかまず下記やってなかったことを思い出す

・WP本体をWP公式からDLしてサーバーに上書きアップしてみる
→500エラーのまま。つまり本体じゃない
・とりあえずプラグインをサーバーから全部消してみる
→500エラーの以下略
・テーマファイルを消してみる
→500以下略
・ブチ切れて、一回全部消してWP本体だけぶち込む
→ついに画面がまっしろにw
(あ、当然configとかちゃんと設定してますよ)

通常の記述間違いやら関係の復旧での、参考サイト様
HTTP500(Internal Server Error)の原因と対処法【UX MILK】
WordPressブログが突然HTTP ERROR 500で表示されなくなった話【よしぱんblog】

なんかよく分からないけどここでひらめく

新しくDB作って、config書き換えてサイトを表示させてみました。
→なぜか通常通り(ってか記事とか空のWPインストール直後の画面)表示される

あれ、これは・・・もしかしなくてもデータベース側に変な記述か設定入ってる?
かといって、phpmyAdminでデータベース見ても何が悪いんだか解りません。

とりあえず、オーバーヘッド掃除してみる
→焼け石に水って、こういうこと言うんだな

仕方がないので、データベースの必要部分だけ引っ越してデータベース自体を乗り換えることに

手順。
1.FTPで必要なものをサーバーから(アップロードした画像とかプラグインとか)を念のためDL
2.phpmyAdminで、エクスポートしたいテーブルをクリック
→上のタブのエクスポートからエクスポート画面に入ってファイル保存。
ファイル形式はsql、エンコーディングへの変換はなし。
多分デフォルトでそうなってます。
他の項目に関しても一切いじってません。
これを移動させたいテーブル分すべて行います。
データベース全部一気にエクスポートさせるとどの部分が問題か全くわからなくなるので面倒でもテーブルごと1つづつ。
といっても、サイト見た目とか後でどーとでもなるので、一番必要なのは記事の中身かと思います。

3.新しく作ったDBに移動して
→インポートするテーブルを選択
→インポート前にこっちの中身をエクスポートしとく
→テーブルの中身全部消去
(先に消さないと「重複してるから無理っす!」てエラー出ます)
→上のタブからインポートに移動して実行

4.3を1回やるごとにサイトを確認。
これは、どの部分がエラー起こしてるかわからなかったので。
で、500エラー起こした時点で中身を消去
確か私のときはエラー出たのはwp_users当たりをインポートした時だったかなと思います。
(かなりイライラしながらやったので、ぶっちゃけ細かいことおぼえてない)

5.あとは上記を必要部分だけ繰り返し。

これで、一応サイトの記事内容の復旧と管理画面へのアクセスは可能になりました。
完全に元の通りとはいきませんが、元の状態に近い形まで復旧。
クソ時間かかった・・・・・。

この記事が気に入ったら
シェアしてね

Twitter で