PEAR作為PHP中規范化和功能強大的武庫,一直以來很受關注,但是一直沒有在實用領域得到重視。究其原因,有文檔的不完整,學習資料不充分,代碼體系比較復雜,還有就是開發者支持力度不足。
不過早晚這個武庫都會被給以足夠的重視。如果你現在能夠開始學習,也許可以占得一定的先機。
PEAR使用中有一個支持問題。很多服務器可能在編譯時使用了disable pear, 這樣PEAR就沒有被支持。因為其安裝需要有權限修改php.ini,所以對不支持的主機,用戶可能會覺得無能為力。
還有一種情況,就是主機服務器提供PEAR,並且你都可以在phpinfo也中看到PEAR包含,但是由於主機運行於安全模式(safe mode),這樣由於PEAR的擁有者不是你,你還是無法使用。
這裡提供一個方法,就是你可以在你的共享主機中自己安裝PEAR。
按照PEAR文檔的要求,你的PHP在4.04以上版本就可以使用,但是有些模塊需要4.05以上,實際上意味著最低要求還是4.05版本。當然這不是問題,因為如果現在你的主機還是在4.06你就應該考慮換主機了。
PEAR本身版本的選擇詩歌需要考慮的問題。你可能會注意到,所有的PHP發布的源程序包中都包含PEAR,但是實際上最新的PRE版中的PEAR根本不完整。所以我的建議是下載4.23的發行包,解壓縮後將pear目錄的內容全部上載到你的主目錄下,目錄名保持為pear。
如果你有足夠耐性,你可以下載最新的4.30pre2版,然後使用diff工具進行比對(我是指windows用戶而言。),將有新變化的文件直接替換舊的文件即可。
如果你不厭其煩的話,你可以到 http://cvs.php.net 中的pear目錄中去下載各個文件的最新版本。
使用PEAR:
在你的程序頭部加入
ini_set("include_path", “/absolute/path/to/pear”);
這樣你將include_path直接改為你的pear目錄。
以上的設置有一個缺點,就是如果你本來還有別的包含目錄,就會被取消。所以你需要考慮其他的已有的包含路徑。
在php手冊中的用戶注釋中有人建議使用:
ini_set("include_path",ini_get("include_path").": /path/to/pear");
這樣的方式。
我不能確信,這樣對你也許可以。
但是至少我的服務器不支持,這樣會有問題。
對我只能使用:
$oldpath = ini_get("include_path");
ini_set("include_path","/path/to/pear:".$oldpath);
仔細看一下兩者的差距,就是pear路徑是放在開始還是最後的問題。(其中的冒號是路徑的分隔符號)。
我想你可以需要測試兩種情況,看看那個能夠使用。