關閉 XAMPP 問題
在按下 Quit 時可能有些人會出現 Error 提示,如「Error: Cannot creat file "D:\xampp\xampp-control.ini".存取被拒。」或「Exception EAccessViolation in module xampp-control.exe at 0025B2AE. Access violation at address 0065B2AE in module 'xampp-control.exe'. Read of address 00000042.」等。
這是因為存取權限的關係,最簡單的解決方法是使用系統管理員開啟的身分執行程式,不過如此一來當伺服器主機因為更新等自動重新開機,那麼就會無法自動啟用 XAMPP,如果有此問題的人可以參考另一個用法。
方法一:管理員身分執行
這裡先介紹最簡單的方式,請在 xampp-control.exe 上按右鍵,點選「相容性」頁籤,將「以系統管理員的身分執行此程式」打勾即可解決此問題。(缺點是重開機時無法自動啟用XAMPP,不過如果用工作排程器讓它在重新開機時可以自動以管理員身分執行的話就沒問題了。)
方法二:設定 ini 檔案
如果主機重開機時因為管理員權限導致無法自動啟用 XAMPP,則不建議將「以系統管理員的身分執行此程式」打勾,請直接對症下藥,方法如下:
- 在「xampp」資料夾上按右鍵點內容(通常指 C:\xampp)
- 將「唯讀」取消
- 勾選「將變更套用到這個資料夾、子資料夾及檔案」
- 這時會顯示「您必須提供管理員權限…」,按「繼續」
- 進 xampp 資料夾,找到 xampp-control.ini
- 按右鍵點內容,並選擇「安全性」頁籤
- 點「進階」
- 點選主體是 Eveyone 的項目,再按下方的「編輯」
- 基本權限部分,除了「特殊存取權限」之外,其他全部都勾選
- 按下確定,大功告成。
原理說明
在 Error 畫面中表明 xampp-control.ini 檔案存取被拒,代表 ini 檔是處於唯讀的狀態。副檔名為 ini 在 windows 中代表此檔案為系統組態設定檔,簡單說就是「.ini 是系統用來存取自身運作參數的檔案」。所以 ini 檔無法寫入會導致系統無法正確關閉,也會道致系統不能修改自已在運作時的參數,對 XAMPP 來說就是不能變更系統啟動會自動開啟的服務等等設定,因此只要讓 ini 檔可以正常存取就可以了。