system/ 目錄、index.php。application.php → Application.phpm_application.php → M_application.phpclass Application extends CI_Controller。config/mimes.php:新增大量 MIME 類型。$autoload['core']:CI 3 不再支持 core 自動加載,改用 $autoload['libraries'] 或 Composer。// 2.x $this->session->unset_userdata(array('item'=>''));// 3.x $this->session->unset_userdata(array('item', 'item2'));(只傳鍵名陣列)$active_group = 'default';$query_builder = TRUE;(替代 $active_record)$db['default']['dbdriver'] = 'mysqli';(棄用 mysql 驅動)system/views/errors/ 複製到 application/views/errors/,可自定義錯誤頁。(:any) 不再匹配 /,需用 (.+) 匹配任意字符含斜槿。$route['product/(:any)'] → $route['product/(.+)']| 領域 | 2.x | 3.x | 處理 |
|---|---|---|---|
| URI 安全字符 | 允許較寬 | 更嚴格 | $config['permitted_uri_chars'] 調整 |
| 加密庫 | Mcrypt | OpenSSL (encryption) | 重新生成金鑰,遷移數據 |
| 輸入類 | $this->input->xss_clean() | 預設關閉,建議輸出時轉義 | 移除全局 xss_clean,用 html_escape() |
| 日誌閾值 | 0-4 | 常量 CI_LOG_* | 更新 config.php |
| PHP 版本 | 5.2.4+ | 5.6+ (建議 7.1+) | 升級 PHP 同步進行 |
config/mimes.php 已替換autoload.php 移除 core、調整 librariesdatabase.php 驅動改 mysqli、啟用 query_builderviews/errors/ 已複製到應用目錄(:any) → (.+) 全局替換CodeIgniter 3.0 升級指南(英文原版,最權威)