タグ: サーバー

  • ◆サーバー移行でWordPressがぶっ壊れた話。

    ◆サーバー移行でWordPressがぶっ壊れた話。

    ― データベース接続エラー地獄からの帰還と、その裏側で起きていたこと ―

    サーバー移行なんて、軽い引っ越しみたいなもんだろう。
    WordPress のフォルダを持っていって、データベースをインポートして、はいおしまい…
    そんな甘い幻想を抱いていたある日のこと。

    ページを開いた瞬間、画面いっぱいに飛び出した文字。

    「データベース接続確立エラー」

    あまりにも急で、あまりにも一言。
    こっちは引っ越しの真っ最中なんだぞ…少しは状況を説明してくれ。

    けれど WordPress は無言。
    ただただ「接続できない」の一点張り。
    すべてのページが沈黙し、ブログは完全に沈没状態になった。

    ここから、私の“サーバー移行サバイバル”が始まった。


    ◆第1章:原因不明の暗黒時代

    サーバーを X から S(さくら)へ移行する作業をしていた。
    WordPress のファイルも、データベースも、確かに移したはず。

    なのに動かない。

    管理画面どころか、トップページすら開かない。
    焦りで手が震える。
    「何が悪い?」「どこが違う?」
    そんな言葉がぐるぐる頭を回る。

    そこでふと気づく。

    ――WordPress は、見た目よりずっと繊細だ。

    特に「wp-config.php」というファイル。
    これは WordPress の“心臓”みたいなもので、データベースにアクセスするためのIDやパスワードが書いてある。

    1文字違うだけで瞬時に止まるくらいナイーブなやつ。

    移行直後、私はその“心臓”を旧サーバー時代のまま連れてきてしまっていた。


    ◆第2章:原因はあの小さなファイルだった

    WordPress がデータベースにつながらない時、ほぼ犯人は一つ。

    wp-config.php

    ここに書いてある、たった4行の情報。

    • DB_NAME
    • DB_USER
    • DB_PASSWORD
    • DB_HOST

    このどれかが違うと、WordPress はデータベースと会話できなくなる。

    私はそのすべてを新サーバー用に書き換えたつもりだった。

    そう、“つもり”。

    でも現実はそう甘くなかった。

    新しいパスワードを入れたはずなのに、なぜか接続できない。
    何度見返しても合っているように見える。

    そして気づいた。

    パスワードの後ろに、
    謎の文字列「;>[」がくっついてる。

    見た瞬間、背筋が凍る。

    PHP は不思議な言語で、
    「変な位置に記号がある」
    ただそれだけで爆速で死ぬ。

    パスワードの一部として認識されれば当然ログイン失敗。
    パスワードの外にあれば文法エラーで即落ち。

    どっちに転んでも WordPress は動かない。

    私はまさに、その地雷を踏んでいた。


    ◆第3章:繊細すぎる wp-config.php の正体

    移行作業って、実はものすごくミスを生みやすい。

    • ブラウザ編集で、カーソル位置がズレたまま打ち込む
    • コピペ時に全角文字が混ざる
    • Visual Studio Code の自動保存で意図しない変更が加わる
    • コメント部分を触っただけなのにエラーになる

    今回の「;>[」事件は、その典型例だった。

    そしてさらに厄介なのは、
    以前のサーバー設定が一部まざっていた問題。

    DB_HOST が旧サーバーのものになっていたり、
    DB_USER の書換えが片方だけだったり。

    WordPress はどこにアクセスしていいのか分からず、
    結果として“接続確立エラー”を吐く。

    ある意味 WordPress は正直だった。

    「いや無理だよ、この設定じゃ行き先わからんよ」と。


    ◆第4章:復活の瞬間

    謎の文字列を消し、
    正しいホスト名、正しいユーザー名、正しいパスワードを入れる。

    保存。
    リロード。

    ――繋がった。

    沈黙していた WordPress が息を吹き返す瞬間。
    まるで心電図の線がピッと跳ね上がるように、
    画面が戻ってきた。

    管理画面にログインできたときのあの安心感。
    「帰ってきた…」という感じだった。

    サーバー移行の難所をひとつ越えたと思った。


    ◆第5章:なぜこんなことになるのか ― 解説パート

    落ち着いたところで今回の事件の本質をまとめておく。

    ●1. wp-config.php は異常なほど繊細

    これは WordPress の核。
    1文字の誤字で止まる。

    さらに PHP の仕様で、

    define( 'DB_PASSWORD', 'abc');
    ;>[
    

    こうなると、後ろの記号が文法エラーを引き起こす。

    ●2. サーバー移行は「コピーして貼るだけ」では終わらない

    特にデータベースのホスト名(DB_HOST)はサーバーごとに違う。

    Xサーバー → localhost
    さくら → mysql***.db.sakura.ne.jp

    同じじゃない。

    ここがズレるだけで全滅。

    ●3. パスワードは“完全一致”じゃないと絶対に通らない

    似ている文字(0とO、1とlなど)に注意。

    そして今回みたいに
    謎の記号が混ざっていた
    というケースも実はよくある。

    ●4. エディタの仕様やコピペでも事故る

    特にブラウザ内エディタはミスを誘発しやすい。
    ファイルをローカルで編集 → アップロードするのが一番安全。


    ◆第6章:今回の経験で得た結論

    ●サーバー移行は“気軽にできるけど、気軽に壊れる”

    ファイル移動して終わり、じゃない。
    データベースと設定ファイルの整合性を取り直す必要がある。

    ●WordPress は便利だけど、とんでもなく繊細な生き物

    普段は優しいけど、機嫌を損ねると一切動かない。

    ●エラーからの復旧は、意外とスキルアップになる

    今回の作業であなたは、
    wp-config.php の構造と重要性を完全に理解した。

    もう“ただのユーザー”から一歩抜けている。


    ◆おわりに:破壊 → 恐怖 → 理解 → 成長

    WordPress の移行は、慣れれば簡単。
    でも最初は「壊れた!?」と騒ぎたくなる瞬間が必ず来る。

    今回その“恐怖ゾーン”を自力で突破した。

    そして今、WordPress の裏側の仕組みを理解し、
    復旧できるほどの力を手にしている。

    ここまでできる人は、実はかなり少ない。

    トラブルは確かにしんどい。
    でもそのぶん、ブログ運営者としての経験値は爆上がりする。

    あなたはもう、サーバー移行の“本質”を知ってしまった。
    次に同じ問題が来ても、きっとこう言える。

    「はいはい、wp-config でしょ?そこ直すわ。」


    もし続編として