安裝與設定
下載
安裝
CI的安裝當相快速,下面我們將會為指引兩種不同方案的安裝方式:
可攜式方案
首先,我們先在網頁伺服器的資料夾www中(例如筆者使用Wamp "C:\Wamp\www\" 或是網路上較多人使用的Appserv "C:\Appserv\www"),建立一個名稱為《CI 》的資料夾。接下來,將CodeIgniter_1.7.0.zip(當時所下載的版本)解壓縮到《CI》資料夾,正常來講你將會看見二個子目錄與二個檔案,最後整個目錄結構應該會像下面這樣:
- 《www 》 - 網頁伺服器資料夾
- 《CI 》 - 剛剛建立的CI資料夾
- 《system 》 - CI框架核心類別庫
- 《uer_guide》 - 官方使用者手冊(英文版),提供你在離線時(或不能上網時),仍然可以做為參考的文件
- index.php - 系統首頁,它的功用在於剖析URL路徑,然後決定要呼叫的控制器(Controller)與方法(method)
- license.txt - CI自定的授權書,它含有不能被 GPL 傳染 copyleft 特性
然後開啟瀏覽器,輸入http://localhost/CI/index.php,按下Enter:

哇~沒錯,正如你所見,CI已經安裝完成,並正常的運作了。
這種安裝方法是屬於可攜式模式,你可以把CI視為一個專案資料夾,若你的專案是以這個方式建構的話,那麼在開發完畢後,只要將整個CI資料夾複製到任何一個可執行PHP的網頁伺服器中,重新設定一些必要的檔案,例如:標準設定檔(system/application/config/config.php)與資料庫設定檔(system/application/config/database.php)後,就能正常運作。換句話說,假如你手上有兩個專案『阿貓阿狗』和『戀愛巴士』的話,你可能會想要將第一個專案資料夾取名為CatAndDog,第二個取名為LoveBus,最後你資料夾結構大概會是這個樣子:
- 《www 》
- 《CatAndDog 》 - 專案「阿貓阿狗」
- 《system 》
- 《uer_guide》
- index.php
- license.txt
- 《LoveBus》- 專案「戀愛巴士」
- 《system 》
- 《uer_guide》
- index.php
- license.txt
不過這種方式有些缺點,那就是當CI的版本更新了,你就必需手動將每個專案做各別的升級 (不過有時候一眛的升級到最新版,對專案的穩定性不一定是個好處,某方面來講這種方式反倒比較好)。或是核心檔有些小BUG,而你已經自行修正,你必需對每個專案也進行修正。另外若你的專案都放在同一台網頁伺服器中,這種方式將會佔用額外的硬碟空間,因為每個專案都擁有自己的CI函式庫。
共用式方案
如果你不喜歡這種方式,那麼我們來使用另一種共用的方式來建構,在開始之前,我們先將焦點移到《system》這個資料夾,它的內容如下:
- 《system》
- 《application》 - 應用程式資料夾
- 《cache 》 - 快取資料夾
- 《codeigniter》 - CI的核心類別庫
- 《database》 - 資料庫抽象類別庫
- 《fonts》 - 字型
- 《helpers》 - 輔助函式
- 《language》 - 語系檔
- 《libraries》 - CI類別庫
- 《logs》 - 系統執行的歷史記錄
- 《plugins》 - 插件
- 《scaffolding》 - 腳手架
注意到《application》這個資料夾,事實上它才是我們真正使用的專案資料夾,所以我們將《application》視為專案資料夾,並將他從《system》移出來,放到《www》底下,並將原《CI》底下的index.php移動到《Application》中。而《system》資料夾我們可以將它移至《www》之外的資料夾,像是《library》底下,甚至可以將他重新命名為《CI_Core》來方便識別,而且將它移至《www》之外也能防止外部存取到此資料夾。不過最後還是要提示你,你可以將《system》放到任何你的主機位置上,但是你必需要確定在待會兒的設定檔,能正常的指定到完整的資料夾路徑。異動後的資料結構如下:
- 《www》
- 《application》 - 視為一個空白專案
- 《config 》
- 《controllers》
- 《errors》
- 《helpers》
- 《hooks》
- 《language》
- 《libraries》
- 《models》
- 《views》
- index.php - 從CI底下複製而來的系統首頁
- index.html
- 《library》
- 《CI_Core》
- 《cache 》 - 快取資料夾
- 《codeigniter》 - CI的核心類別庫
- 《database》 - 資料庫抽象類別庫
- 《fonts》 - 字型
- 《helpers》 - 輔助函式
- 《language》 - 語系檔
- 《libraries》 - CI類別庫
- 《logs》 - 系統執行的歷史記錄
- 《plugins》 - 插件
- 《scaffolding》 - 腳手架
現在,我們可以把《application》當做一個空白的專案,在《www》底下複製了一份相同的《application》資料夾,並將這兩個資料夾重新命名為《CatAndDog》以及《LoveBus》,現在的結構變成這樣了:
- 《www》
- 《CatAndDog》 - 專案「阿貓阿狗」
- 《config 》
- 《controllers》
- 《errors》
- 《helpers》
- 《hooks》
- 《language》
- 《libraries》
- 《models》
- 《views》
- index.php - 從CI底下複製而來的系統首頁
- index.html
- 《LoveBus》 - 專案「戀愛巴士」
- 《config 》
- 《controllers》
- 《errors》
- 《helpers》
- 《hooks》
- 《language》
- 《libraries》
- 《models》
- 《views》
- index.php- 從CI底下複製而來的系統首頁
- index.html
- 《library》
- 《CI_Core》
- 《cache 》 - 快取資料夾
- 《codeigniter》 - CI的核心類別庫
- 《database》 - 資料庫抽象類別庫
- 《fonts》 - 字型
- 《helpers》 - 輔助函式
- 《language》 - 語系檔
- 《libraries》 - CI類別庫
- 《logs》 - 系統執行的歷史記錄
- 《plugins》 - 插件
- 《scaffolding》 - 腳手架
還記得剛剛複製到《application》底下的index.php檔案吧,現在每個專案都擁有自己的系統首頁檔案,而我們必需設定各專案系統首頁的必要參數。首先讓我們開啟專案底下的index.php,你會發現在文件內容會有三個可設定的選項:
- 除錯等級(PHP ERROR REPORTING LEVEL)
error_reporting(E_ALL);
- 這個參數決定了這個專案在執行時的錯誤回報等級
-
- 系統核心資料夾路徑(SYSTEM FOLDER NAME)
- 由於我們已經將核心資料夾移到《library》底下了,所以必需將路徑改為
$system_folder = "C:/wamp/library/CI_Core";
- 應用程式資料夾路徑(APPLICATION FOLDER NAME)
- //假設這個專案是「阿貓阿狗」,那麼你的路徑應該設為
$application_folder = "C:/wamp/www/CatAndDog";
- //假設這個專案是「戀愛巴士」,那麼你的路徑應該設為
$application_folder = "C:/wamp/www/LoveBus";
另外,要注意檔案中的註解說明提到了的"最後的反斜線不要加(NO TRAILING SLASH!)" ,而且斜線應該都使用" / "非" \ "