使用 JoomlaPack 2.1 進行網站完整備份 (副檔名 .JPA) 後,在 Windows 本地使用官方工具 JoomlaPackeXtract.exe 解壓時,過程在 components/com_contact/views/category/tmpl/index.html 檔案處中斷,報錯 I/O error 123。經官方文檔查證,錯誤代碼 123 對應 Windows 系統錯誤 ERROR_INVALID_NAME,即檔案名稱在 Windows 檔案系統中無效。
JoomlaPack 備份打包於 Linux/Unix 伺服器環境,該環境允許檔案名包含 Windows 保留字元或不合法命名:
index.html.、config .php)CON、PRN、AUX、NUL、COM1、LPT1 等)< > : " / \ | ? *當在 Windows 解壓時,API 呼叫 CreateFile 失敗,返回 ERROR_INVALID_NAME (123)。JoomlaPack NativeTools 目前版本未處理此跨平台相容性問題。
使用原生 Linux 伺服器、WSL (Windows Subsystem for Linux)、虛擬機或 macOS 直接解壓 .JPA 檔案。Unix 系統完整支援所有合法檔案名,零資料遺失風險。
# Linux/macOS 終端機
unzip backup-file.jpa -d /path/to/extract
# 或使用 JoomlaPack 官方 PHP 解壓腳本
php joomlapack_extract.php backup-file.jpa
在 JoomlaPack 備份設定中啟用以下選項,減少異常檔案產生:
/tmp、/var/tmp、cache/、administrator/cache/logs/ 目錄下舊日誌JoomlaPack 備份設定中,將「備份檔案副檔名」從 JPA 改為 ZIP。標準 ZIP 格式跨平台相容性極佳,Windows 原生解壓、7-Zip、WinRAR 均能正確處理特殊檔案名 (會自動重命名或跳過)。
注意: .JPA 實為自定義封裝格式,非標準 ZIP,故相容性較差。
若需將備份在本地 (XAMPP/WAMP) 還原測試:
.htaccess.htaccess 覆蓋原因:線上環境的重寫規則 (如強制 HTTPS、子目錄重寫) 在本地環境常導致 500 錯誤或迴圈重導向。
若必須在 Windows 解壓 .JPA,可嘗試:
7-Zip 內部處理機制較寬鬆,常能繞過 Windows API 限制。
| 場景 | 推薦方案 | 優點 | 缺點 |
|---|---|---|---|
| 生產環境異地備份下載 | 方案一 (Linux/macOS 解壓) | 100% 相容、零資料損失 | 需額外環境 |
| 定期自動化備份流程 | 方案二 + 方案三 (清理 + ZIP 格式) | 源頭預防、Windows 原生支援 | 需調整備份策略 |
| 開發者本地還原調試 | 方案四 (排除 .htaccess) + 方案三 | 快速啟動本地環境 | 需手動同步重寫規則 |
JoomlaPack I/O Error 123 本質是跨平台檔案系統語義差異導致。選擇適當的備份格式、解壓環境與預清理策略,能從根本上避免此類阻塞性錯誤,確保備份資料的可用性與可還原性。