先做這件事
WordPress 檔案權限:不要在沒有備份時連續試錯
常見 755 目錄、644 檔案只是起點,實際安全設定取決於擁有者、群組、PHP 執行模式與主機隔離。777 會擴大可寫範圍。
本文聚焦「不把 777 當解法,先確認 Web server 執行使用者與主機架構。」。對應的使用情境是:遇到上傳或更新權限錯誤,想安全設定檔案權限。。排查時請保存每一步的時間、畫面與日誌差異,才能把同時發生但無關的變更排除。
排查原則:先保存錯誤與現況,再從低風險、可回復的檢查開始;一次只改一個變因。
問題症狀
- 媒體上傳失敗
- 外掛更新要求 FTP 或無法寫入
- 權限修改後出現 403 或安全警告
用成功與失敗各一個樣本比較 URL、角色、裝置、HTTP 標頭與錯誤日誌;差異通常比猜測更快指向正確層級。
可能原因
- 01檔案擁有者與 Web server 使用者不一致。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
- 02部署工具建立錯誤群組。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。
- 03安全外掛或主機限制寫入。需要用錯誤日誌、Network 或隔離測試確認,不應只因時間接近就下結論。

修改前備份
先建立檔案與資料庫完整備份,下載到站外位置並確認可以讀取;另保存外掛、主題、PHP 版本與目前錯誤畫面。
計算或記錄備份檔案大小與雜湊,可在下載、傳輸與還原前確認檔案沒有被截斷或換成其他版本。
由低風險到高風險的排查順序
-
1. 保存目前 owner、group 與 permission 清單
這一步保持唯讀或可快速回復,先蒐集證據再改設定。 -
2. 查明 PHP/Web server 執行身分
這一步保持唯讀或可快速回復,先蒐集證據再改設定。 -
3. 比較主機官方建議
每完成一步就重測同一個最小重現,確認問題是否改變。 -
4. 只修正需要寫入的目錄
每完成一步就重測同一個最小重現,確認問題是否改變。 -
5. 測試上傳、更新與前台讀取
只把已在測試環境通過的最小變更套用到正式站,並立刻跑回歸測試。
不要同時清瀏覽器、外掛、主機與 CDN 快取後就宣稱修好;應知道哪一層提供舊內容,才能建立正確失效規則。
如何確認修復成功
必要更新與上傳正常,敏感檔不可公開寫入,安全掃描沒有新增高風險項目。
- 以原本的最小重現步驟再次測試。
- 檢查首頁、登入、REST API、表單與網站最重要的交易流程。
- 查看 PHP error log、瀏覽器 Console 與 Network 是否新增錯誤。
- 以 390px 手機寬度確認沒有版面級橫向溢位。
把症狀與證據對成一條排查路徑
| 目前看到的症狀 | 先驗證的原因 | 最小安全動作 |
|---|---|---|
| 媒體上傳失敗 | 檔案擁有者與 Web server 使用者不一致 | 保存目前 owner、group 與 permission 清單 |
| 外掛更新要求 FTP 或無法寫入 | 部署工具建立錯誤群組 | 查明 PHP/Web server 執行身分 |
| 權限修改後出現 403 或安全警告 | 安全外掛或主機限制寫入 | 比較主機官方建議 |
這張表不是用來直接判定根因,而是把「看到什麼、要查什麼、哪個動作可回復」放在同一列。若第一列的證據不成立,就不要跳到高風險修改。
如何還原
依備份清單恢復原擁有者與權限;不要遞迴套用同一權限到所有檔案與目錄。
若回退仍未恢復,停止加入更多變更,回到最後一個已知正常版本並重新建立時間線。
何時應停止自行操作
若是共享主機、不知道 PHP 執行模式或命令會遞迴修改整個帳號目錄,先停止並聯絡主機商。
停止不是放棄,而是避免把可復原的錯誤變成停機、資料損失或資安事件。準備好時間線、備份、錯誤日誌與已嘗試步驟,能顯著縮短專業人員的診斷時間。
常見問題
可以直接在正式站測試嗎?
不建議。先備份並在測試環境重現,正式站只套用已驗證的最小變更。
需要關閉所有外掛嗎?
不應在沒有計畫時一次關閉。先保存清單,再用隔離或健康檢查方式逐步排除。
修好後要做什麼?
清除必要快取、重測主要流程、保存變更紀錄並確認監控沒有新錯誤。
官方文件與查核來源
以下文件用於核對 WordPress、WooCommerce、PHP 或資料庫行為。第三方外掛與主機設定仍需查閱該產品當前版本的正式文件。
