當前位置:
首頁 > 知識 > 工具鏈 PEAR與PECL 介紹

工具鏈 PEAR與PECL 介紹

PEAR

PEAR 全稱是 PHP Extension and Application Repository, 和水果 "梨" 的英文發音是相同的. PEAR 存在的目的是:

提供一個有組織結構的開源代碼倉庫給 PHP 用戶們

提供一個代碼發布以及包維護的系統

制定一份 PHP 代碼風格規範 (在這裡: http://pear.php.net/manual/en/standards.php)

運作 PHP Extension Community Lbrary (PECL) 姐妹組織

維護相關的網站, 郵件列表, 源鏡像, PEAR/PECL 社區

PEAR 是一個社區驅動的組織, 由開發者管理.

PEAR 的使命

PEAR 的使命就是為 PHP 用戶提供良好可重用的組件 (避免讓用戶自造輪子), 以及領導 PHP 革新, 努力為 PHP 開發者提供最佳的開發體驗.

由 PHP 書寫的結構良好的代碼庫以及應用

PEAR 中的代碼以 "包" 為單元. 每一個包都是一個獨立維護的項目, 有專門的開發團隊, 有自己的版本號, 發布周期, 項目文檔, 以及與其他包的依賴關係信息.

PEAR 中的包都是以 gzip tar 檔案格式發布的. 在你的系統上, 你可以使用 "PEAR installer" (http://pear.php.net/package/PEAR/) 來安裝這些包.

不同的包之間可以顯示的指定依賴關係, 不要根據包的名字相似程度想當然的認為他們有依賴關係.

代碼發布與包維護

前面說了, 每一個包都是以 gzip tar 檔案形式發布, 其中包含一個 xml 描述文件, 描述這個包的一些信息, 包括這個包里所包含的文件及其作用, 以及這個包的依賴關係等.

關於 PEAR installer

PEAR installer 指的應該就是系統上的 pear 命令, 以及上面鏈接 (http://pear.php.net/package/PEAR/) 給出的 PEAR 這個包, 從這個鏈接可以看出, PEAR 這個包是 PEAR 的基礎包, PEAR 倉庫里相當一部分的包都依賴於 PEAR 包.

另外, 現在又出來了一個 PEAR2, PEAR2 有一個新的 installer, 叫做 pyrus, 是直接用 php 語言寫的 (pear 命令, 應該是 C 寫的), 壓縮成 phar 格式, 可以直接執行 php pyrus.phar來安裝包. PEAR2 應該和 PEAR 是一班人馬維護的, PEAR2 的 installer, pyrus, 目的是比 pear 更易用.

PHP Extension Community Lbrary (PECL)

PECL (pronounced "pickle") is a separate project that distributes PHP extensions (compiled code written in C, such as the PDO extension). PECL extensions are also distributed as packages and can be installed using the PEAR installer with the pecl command.

(以上部分譯自: http://pear.php.net/manual/en/about.pear.php)

PECL 和 PEAR 的關係

? PECL is a repository of PHP extensions that are made available to you via the? PEAR packaging system.

這句話簡單明了, PEAR 是 PHP 所使用的包管理系統, 而 PECL 是集中存放 PHP 擴展的一個倉庫, 這個倉庫的擴展是可以使用 PEAR 來安裝的. 所以, PEAR 和 PECL 的關係, 就好比 Protage 和 Gentoo 源的關係.

PECL 擴展的安裝

通過以上說明, 想必我們都清楚了 PEAR 和 PECL 的關係.

phpize

有些時候你可能處於防火牆內, 無法使用 pecl (原因我不知, 難道 pecl 還用了 80 以外的埠?), 這時候, 你可以使用 phpize, phpize 是包含在 php 源碼包里的一個腳本 (有待驗證, 我猜是腳本. 已經過驗證, 確實是腳本), 只要你安裝過 php, phpize 也就會被安裝到你的系統中.

然後當你想要安裝新的 PECL 擴展, 而又不能聯網使用 pecl 命令時. 就可以到 php 源代碼根目錄 (顯然, 你需要有一個份 php 源代碼) 的 extname 目錄下, 執行 phpize, 就會給你生成編譯這個擴展所需要的編譯環境 (主要是 Zend extension framework 或者 PHP extension framework 這兩個擴展框架介面).

然後, 只要運行經典的三部曲: ./configure && make && make install 就可以了.

參考

很好的解釋了 PEAR 和 PECL 的關係: http://stackoverflow.com/questions/1385346/what-are-differences-between-pecl-and-pear

推薦: http://php.net/manual/en/install.pecl.php

技術交流Q群:

聊聊技術+妹紙。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP技術大全 的精彩文章:

PHP遠程多會話調試
PHP多進程編程之殭屍進程問題
PHP是最好的語言
Fixhub 0.2.3 發布,Web 自動化部署系統

TAG:PHP技術大全 |