2026年8月5日
2026年8月5日
WordPressで「wp-config.phpが見つからない」エラーが出たときの対処法
WordPressで「wp-config.php ファイルが存在しないようです」という趣旨のメッセージとセットアップ画面が出た場合、まずは画面の「作成する」ボタンを押さず、元の wp-config.php を探して戻すのが正しい対処です。ファイルが消えた、置き場所がずれた、サーバーから読めなくなった、のどれかが原因で、多くはバックアップからの復元か、正しい値での作り直しで解決します。この記事では、エラーが出る仕組み、原因の見分け方、復元と再作成の手順、作業後の確認と再発防止までを順に説明します。
このエラーが出る仕組み
WordPressは、ページを表示するたびに wp-load.php から設定ファイル wp-config.php を読み込みます。探す場所は次の2か所です。
- WordPressをインストールしたディレクトリ(
wp-load.phpと同じ場所) - その1つ上のディレクトリ(ただし、そこに別のWordPressの
wp-settings.phpがない場合)
どちらにも見つからないと、WordPressはデータベースの接続先が分からないため、設定ファイルを新しく作るためのセットアップ画面(wp-admin/setup-config.php)へ案内します。英語の画面では「There doesn't seem to be a wp-config.php file.」といった文言です。
つまりこのメッセージは、データベースが壊れたという意味ではありません。投稿や設定はデータベースに残っていることがほとんどで、WordPressが接続情報を読めていないだけです。
先にやってはいけないこと
公開中のサイトでこの画面が出たとき、画面の案内に従って設定ファイルを作り直したくなりますが、慌てて進めないでください。理由は2つあります。
1つ目は、セットアップ画面は誰でも開けることです。この状態のサイトを第三者に見つけられると、相手が用意したデータベースの情報を入力され、サイトを乗っ取られるおそれがあります。設定ファイルがないサイトを狙って自動で探し回る攻撃も知られています。長時間この状態にならないよう、早めに対処するか、一時的にサーバーの設定でサイトへのアクセスを制限してください。
2つ目は、画面から作り直すと、もとの wp-config.php に書かれていた独自の設定(後述)が失われることです。元のファイルを戻せるなら、それがいちばん安全です。
作業を始める前に、サーバー上のWordPressのファイル一式とデータベースのバックアップを取っておきます。
原因を見分ける
ファイルマネージャー、FTPソフト、SSHのいずれかで、WordPressのインストール先を開いて確認します。SSHが使える場合は次のコマンドが便利です。
# WordPressのインストール先で、設定ファイルらしきものを一覧する
cd /path/to/wordpress
ls -la | grep -i config
# ホームディレクトリ以下から wp-config を含むファイル名を探す
find ~ -maxdepth 4 -iname 'wp-config*' 2>/dev/null
見つかったものによって、原因はおおよそ次のように分かれます。
- **
wp-config-sample.phpしかない**: 移行やアップロードのときにwp-config.phpだけが含まれていなかった、または誤って削除した - 名前が少し違う:
wp-config.php.bak、wp-config.php.txt、WP-Config.phpなど。LinuxのサーバーはWindowsと違い、ファイル名の大文字と小文字を区別します。Windowsで編集した際に、拡張子が非表示のまま.txtが付いてしまうこともよくあります - 別のディレクトリにある: サブディレクトリに移した、ドキュメントルートの設定を変えた、サーバー会社の仕様変更で公開ディレクトリが変わった、など
- ファイルはあるのにエラーが出る: 上の階層に置いた
wp-config.phpが、PHPのopen_basedirの制限で読めない範囲に入っている場合や、ディレクトリの権限が厳しすぎる場合があります - どこにもない: セキュリティプラグインやマルウェアの駆除で隔離・削除された可能性があります。サーバー会社のウイルススキャン結果も確認してください
対処法1: バックアップから戻す
元のファイルが手元にある、またはサーバー会社の自動バックアップから取り出せるなら、wp-config.php だけを戻します。サイト全体を巻き戻す必要はありません。ファイル単位で復元できるサーバー会社も多くあります。
名前違いや置き場所違いが原因なら、正しい名前に直す、または wp-load.php と同じディレクトリに移すだけで直ります。戻したらサイトを再読み込みし、表示されるか確認します。
対処法2: 正しい値で作り直す
バックアップがない場合は、同じディレクトリにある wp-config-sample.php をコピーして wp-config.php という名前にし、中身を書き換えます。必要な値は次のとおりです。
- データベース名・ユーザー名・パスワード・ホスト名: サーバー会社の管理画面のデータベース設定で確認します。パスワードが分からない場合は、管理画面でデータベースユーザーのパスワードを再設定します
- **テーブル接頭辞(
$table_prefix)**: phpMyAdminでデータベースを開き、○○_optionsのようなテーブル名の○○_の部分を確認します。ここが違うと、WordPressは新規インストールの画面を出します - 認証用キーとソルト(8行):
https://api.wordpress.org/secret-key/1.1/salt/を開くと新しい値が生成されるので、サンプルの該当行と置き換えます。新しい値にするとログイン中のユーザーは全員ログアウトされますが、データには影響しません
書き換える主な部分は次のとおりです(値はダミーです)。
<?php
define( 'DB_NAME', 'your-db-name' );
define( 'DB_USER', 'your-db-user' );
define( 'DB_PASSWORD', 'your-db-password' );
define( 'DB_HOST', 'localhost' ); // サーバー会社の指定に合わせる
// AUTH_KEY から NONCE_SALT までの8行は、salt 生成ページの出力に置き換える
$table_prefix = 'wp_'; // 既存テーブルの接頭辞と同じにする
サンプルファイルの末尾にある ABSPATH の定義と require_once ABSPATH . 'wp-settings.php'; の行は消さないでください。この行がないとWordPressが起動しません。保存するときは文字コードをUTF-8(BOMなし)にします。BOM付きで保存すると、画面の先頭に余計な文字が出たり、ログインやリダイレクトがうまく動かなくなったりします。
WP-CLIが使える環境なら、コマンドで作成することもできます。キーとソルトも自動で生成されます。
# パスワードはコマンド履歴に残らないよう、対話入力にする
wp config create --dbname=your-db-name --dbuser=your-db-user --dbprefix=wp_ --prompt=dbpass
元のファイルにあった独自設定を戻す
作り直した場合に見落としやすいのが、元の wp-config.php に追記されていた設定です。次のようなものがあったなら、書き足してください。
- マルチサイトの設定(
MULTISITE、SUBDOMAIN_INSTALL、DOMAIN_CURRENT_SITEなど)。これがないとマルチサイトのネットワークが動きません - サイトURLの固定(
WP_HOME、WP_SITEURL)や、管理画面のSSL強制(FORCE_SSL_ADMIN) - キャッシュプラグイン用の
WP_CACHE、メモリ上限のWP_MEMORY_LIMITなど
どれがあったか分からない場合は、まず最小構成で表示を戻し、表示崩れやリダイレクトの不具合が出た部分から順に補います。
作業後の確認
ファイルを戻したり作り直したりしたら、次の順で確認します。
- トップページと個別記事が表示される
- 管理画面にログインできる
- 「設定」→「パーマリンク」を開いて保存し、記事ページが404にならないか確かめる
- キャッシュプラグインやCDNを使っている場合は、キャッシュを削除してから再確認する
「データベース接続確立エラー」が出る場合は、ファイルは読めていて、中のデータベース情報が間違っています。名前、ユーザー、パスワード、ホスト名を1つずつ見直してください。
wp-config.php のパーミッションは、サーバー会社が推奨する値に合わせます。多くの環境では、Webサーバー以外のユーザーが読めないように厳しめの値(例: 600や640、400など)が使われますが、PHPの実行ユーザーが読めない値にするとサイトが表示されなくなります。推奨値はサーバー会社ごとに異なります(2026年10月現在)。
再発を防ぐには
- バックアップの対象に
wp-config.phpが含まれているか確認する。ファイルだけを別に保管しておくと、今回のようなときにすぐ戻せる - サイトの移行やデプロイでは、
wp-config.phpを除外する設定になっていないか、移行先に届いているかを作業手順に入れる - Gitなどで管理する場合、
wp-config.phpは公開リポジトリに入れない。パスワードが漏れるためで、別の方法で配置する - Webサーバーの設定で
wp-config.phpへの直接アクセスを拒否し、ファイル改ざんの監視を有効にする
まとめ
- このエラーは、WordPressがインストール先とその1つ上のディレクトリで
wp-config.phpを見つけられないときに出る。データは多くの場合無事 - 公開中のサイトでセットアップ画面を進めるのは避け、元のファイルを探して戻すのが先
- 原因は「削除・未アップロード」「名前違い」「置き場所違い」「読み取りの制限」が中心
- 作り直す場合はデータベースの値とテーブル接頭辞を正しく合わせ、キーとソルトを新しくし、元の独自設定を補う
- 復旧後は表示・ログイン・パーマリンクを確認し、バックアップと移行手順を見直す