安裝完基本套件後,當開發者需要使用基本套件以外的其他套件時,會需要安裝套件,若不需要某個套件時,就會想要移除套件,若套件版本過於老舊,則需要升級套件,也就是說開發者需要一套PEAR套件的管理系統。
在Windows作業系統下的套件安裝與管理可以有兩種方式,一種是使用Web的管理介面,另一種足使用「套件指令」。筆者較為推薦後者,因為執行的速度較快,但若您對指令有畏懼感,也可以用第一種來輕松管理套件。
用web介面管理套件
Web的套件管理在上一個單元安裝基本套件時.就已經順便安裝好了。上一個單元中安裝完PEAR基本套件的畫面,在最下方會出現Start Web Rrontend of the PEAR instoller>>這個連結,點選後即可進入套件管理的Web介面,如下圖:
管理介面網頁檔的所在位置,就是上一個單元的第9個設定項Filename of WebFrontend,我使用的范例是設為c :AppServ\www\pearindex.php,記得將它加入我的最愛。另外,先前的pear.php擋可以刪除了。
請注意上圖畫面的上方有3個連結,所代表的意義分別是顯示已安裝套件(list installed packages) 、顯示所有套件(list all packages)、顯示尚未安裝套件(list not installed packages)。
一進入套件管理Web介面時出現的是顯示已安裝套件的畫面,畫面中有套件名稱,套件功能的概略敘述與套件的版本編號,Local代表目前安裝版本的編號,Latest代表PEAR官網上的最新版本的編號。
若目前安裝的不是最新版本時,會出現一個upgrade的圖案,按下圖案即可升級套件,版本編號旁的回收筒圖案若按下,會將套件移除,請大家特別注意。
接著我們進入顯示尚未安裝套件畫面
與顯示已安裝套件的畫面大同小異,比較下同的是沒有了垃圾桶圖案,取舊代之是一個╂圖案,意思是使用者只要按下圖案即可安裝該套件。
安裝失敗? 使用者安裝時有時會出現該怎麼辦呢?
通常會安裝失敗問題大多出在套件的「相依性」,何謂「相依性」? 簡單的說就是有些套件需要先安裝其他套件才可使用,所以安裝此套件前須先安裝相依的套件,大家可點選畫面中的回收筒圖案,可觀看套件的詳細訊息,其中會提到與套件相依的其它套件。如下圖:
例如:上圖中,筆者安裝Cache套件前,點選(!+ )圖案,觀看套件的詳細資訊時,在最下面的Packages that depend on Cache中發現Net_Dict、Image Graph等5個套件與Cache套件相依,所以須先安裝cache套件才可安裝這5個套件。否則,直接安裝這些套件會出現”安裝失敗”的訊息視窗。
套件的管理利用Web界面實在是簡單又方便,但速度稍嫌緩慢,而且Web的使用者必須對放置套件的資料夾(本范例為c:AppServ\php\PEAR)具有寫入的權限。
筆者推薦用另一種管理方法,推薦的理由是因為它下載套件更快速,管理功能更強大,但缺點是需要打指令。
用指令管理PEAR套件
首先,與上一個方法一樣需先用pear.php網頁來安裝完基本套件,雖然安裝後已有Web的套件管理介面可用,可是請使用者備而不用,接著到桌面的我的電腦圖案,按下右鍵,出現選單,請選擇「內容」,會跳出系統內容視窗,在第4個名為進階的標簽中點選環境變數按鈕,如下圖:
出現璟境變數視窗,請點選下方系統變數窗格中的Path,按編輯鈕,會出現編輯系統變數視窗,請在變數值欄位最後加上“;C:AppServ\php”,請注意,“C:”前須有一個分號(“;”)喔,編輯完按確定鈕關閉視窗,如下圖:
只要完成這個步驟,就可以使用指令來管理PEAR套件了。
我們來做個測試好了,請選擇「開始/所有程式(程式集)/附屬應用程式/命令提示字元」。在 > 後輸入:
這個指令後按下鍵盤上的Enter鍵,將會出現所有PEAR管理指令與說明,如下畫面:
注意:PEAR指令在Windows系統中使用大寫和小寫皆可
我接著根據上圖的說明,試驗一下其他指令。例如若要顯示所有已安裝套件,只要輸入“pear list”即可,畫面將會出現目前已安裝套件的名稱、套件編號、套件狀態
指令失效?別急,若發現指令失效,只要到C:WINDOWS下找到php.ini檔並用任何一中文字編輯器將它打開,將原本的“register_argc_argv=OFF”改為“register_argc_argv=ON”,存檔後,將命令提示字元視窗關閉後重開,即可以無障礙地使用PEAR指令了。
就可以進行安裝,請注意,套件名稱使用大小寫都可以,若套件狀態為stable版則不用輸入套件編號,例如:筆者要安裝benchmark套件,只要輸入
當最後一行出現“install ok:Benchmark 1.2.1”即代表安裝成功。
但若安裝時出現相依性的問題而安裝失敗時,該怎麼辦呢? 例如筆者安裝Html_QuickForm套件時.出現需要先安裝Html_Common套件的訊息,所以我只好再輸入“pear install html_common”.這個指令,終於出現“install ok”的字樣了。
接著再安裝Html_QuickForm套件,如下圖,即可大功告成
若您安裝的是Beta或Alpha版也就是試用版的套件,請在pear install後輸入完整的套件版本號碼。例如,若您要安裝liveuser這個套件,但這個套件目前並沒有釋出stable版,那麼您需要使用以下指令:
也就是套件名稱後面必須加上套件的版本編號,大家又會問,我怎麼會知道套件的版本編號呢?這就請查詢PEAR官方網站了。若安裝的套件不是Stable版卻沒有填寫套件編號,安裝時會出現”安裝非Stable版”的錯誤訊息,並停止安裝。
介紹您一個偷懶的好方法:若您一定要安裝某個套件,不管它足stable版還是beta版,這時候可以使用一個指令:
例如,同樣想安裝liveuser套件,卻懶得去查版本編號,那就使用這樣的指令吧
指令中的“-f”代表強迫的意思「force」,就是不管如何都要安裝就對了。
用指令移除PEAR套件
移除套件比安裝簡單多了,只要輸入:
這樣的指令即可,如下圖:假設我將移除名為benchmark套件,如下圖:
最後出現“uninstall ok”代表移除套件成功了,移除套件的失敗機率很低,請大家放心。
用指令升級PEAR套件
套件會有新的版本不停的釋出,若要將舊套件升級成新套件也非常簡單,只需要輸入指令:
即可,例如:筆者若要升級名為cache的套件,只要輸入:
就可以了。升級的過程與安裝套件一樣,有時會出現相依性的問題而升級失敗,此時只要先安裝相依套件就可以了
其它指令較少用到,我在這裡不再介紹了,請大家自行觀看。只要在命令提示字元視窗中輸入pear指令後,就會出現指令的說明。
修改php.ini檔
這是PEAR使用前最後的工作了,不管您用Web介面,還足用指令來管理套件,都需要修改php.ini檔。這個檔放在C:WINDOWS目錄下,請用文字編輯器將它打開加入一行字如下:
加入後,記得存檔,並將Apache重新執行,這樣就可以了。大家應該看的出來,include_path的值就是下載並安裝PEAR套件的所在路徑,但是,為何要加入此行呢?筆者下一章會加以說明。
我們來檢視一下加入這一行是否讓設定值改變了。請您在c:AppServ\www中建立一個檔案,名為phpinfo.php,檔案內只寫入一行:
接著在浏覽器輸入http;//127.0.0.1/phpinfo.php或http;//localhost/phpinfo.php
另外,我還建議,將php.ini檔中的allowcall_time_passreference設定項的值改為On,原因我會在第6章做解釋。
若一切動作沒有錯誤,出現的畫面如上圖,那麼,就准備享受PEAR所帶來的倍增PHP功力的絕佳體驗吧。