XAMPP のコントロールパネルを閉じたり、設定を変えたりしたときに、次のエラーが出ることがあります。

Error: Cannot create file "C:\xampp\xampp-control.ini". アクセスが拒否されました。エラーの原因
xampp-control.ini は、コントロールパネルの画面の設定(言語やウィンドウの位置など)を保存するファイルです。コントロールパネルがこのファイルを C:\xampp フォルダーに書き込もうとして、Windows の権限がなくて拒否されると、このエラーになります。
書き込めないのは画面の設定だけなので、Apache や MySQL の動きには影響しません。ただし、設定が保存されず、閉じるたびにエラーが出るので、次のどれかで直します。
直し方①:自分のアカウントに書き込み権限を付ける(おすすめ)
C:\xampp フォルダーに、今使っている自分のアカウントが書き込めるようにします。一度設定すれば、ふつうに起動するだけでエラーが出なくなります。
- エクスプローラーで
C:\を開き、xamppフォルダーを右クリックして「プロパティ」を開く - 「セキュリティ」タブで「編集」をクリックする
- 一覧に自分のアカウントがなければ「追加」を押し、自分のユーザー名を入れて「名前の確認」→「OK」
- 自分のアカウントを選び、「許可」の列の「変更」にチェックを入れる
- 「適用」→「OK」で閉じる
「Users」に「フル コントロール」を付ける方法もよく紹介されていますが、おすすめしません。「Users」はそのパソコンのすべてのユーザーを含むので、自分以外のアカウントや、そこで動くプログラムにも、XAMPP の PHP や Apache のファイルを書き換えられる状態になります。付けるのは自分のアカウントだけ、権限も「変更」で足ります。
直し方②:管理者として実行する
とりあえずすぐに試したいときは、管理者として起動します。
- 開いているコントロールパネルを閉じる
xampp-control.exe(またはデスクトップのショートカット)を右クリックする- 「管理者として実行」を選ぶ
毎回管理者で起動したいときは、xampp-control.exe の「プロパティ」→「互換性」タブで「管理者としてこのプログラムを実行する」にチェックを入れます。
ただし、管理者で起動すると、そこから動かした Apache や MySQL も管理者の権限で動きます。起動のたびに「このアプリがデバイスに変更を加えることを許可しますか?」の確認も出ます。ふだん使いには①のほうが向いています。Apache や MySQL を Windows のサービスとして登録するとき(「Service」のチェック)は、もともと管理者での実行が必要です。
それでも直らないとき
ファイルが「読み取り専用」になっていないか
C:\xampp\xampp-control.ini がすでにあるなら、右クリック →「プロパティ」で、「読み取り専用」にチェックが入っていないか確かめます。入っていたら外して「適用」します。
C:\Program Files に入れていないか
C:\Program Files の中は Windows が特に強く守っている場所で、ここに XAMPP を入れると、このエラーのほかにも書き込みのトラブルが起きやすくなります。XAMPP は C:\xampp のような、ドライブのすぐ下に入れるのが安全です。
まとめ
- このエラーは、コントロールパネルが画面の設定を保存できないだけで、Apache や MySQL の動きには影響しない
- おすすめは、
C:\xamppに自分のアカウントだけ「変更」の権限を付けること。「Users にフルコントロール」は広げすぎ - 管理者として実行すればすぐ直るが、Apache や MySQL も管理者の権限で動く
- 読み取り専用になっていないか、
C:\Program Filesに入れていないかも確かめる
XAMPP の MySQL が起動しなくなったときは「MySQLが起動しなくなった時の復旧手順」、備えておくには「定時でMySQLを自動バックアップ」で紹介しています。



コメント