[轉載]為 Windows 下的 PHP 安裝 PEAR 和 PHPUnit

來源:互聯網
上載者:User

標籤:c   class   code   tar   http   a   

為 Windows 下的 PHP 安裝 PEAR 和 PHPUnit

粗略翻譯自 Installing PEAR and PHPUnit on WAMP and Windows 7,略有增改。

有需要安裝 PHPUnit 來測試指令碼,搜尋到一篇文章,記錄下來。

注意
PHP 5.2 的目錄下貌似是有 PEAR 目錄的,也有 go-pear.bat,這個你可以自行研究下,看是否可用。
我這裡測試的是 PHP 5.4,預設不內建 go-pear.bat,所以,如果你是 5.2 的話,這個教程是否可用我沒有驗證。

先安裝 PEAR

由於 PHPUnit 依賴 PEAR,我們先把 PEAR 安裝上。

修改 php.ini

在 Windows 上安裝 PEAR 也比較簡單,首先我們來設定下 php.ini(一般在 C:Windowsphp.ini,如果是綠色安裝,則在你的套件目錄下尋找即可)中的一個參數:

phar.require_hash = Off

預設是注釋掉的,我們把前面的分號去掉,然後將 On 改為 Off。

下載並安裝 go-pear.phar

接下來到 http://pear.php.net/go-pear.phar 下載該檔案,放到你的 PHP 安裝目錄,以 D:SERVERPHP 為例。
開啟 CMD 命令提示字元視窗,輸入如下:

cd /D D:SERVERPHPphp go-pear.phar

如不出所料,安裝流程應該沒有問題,其中的各項參數配置你懂的話就修改,不懂的話就直接斷行符號或 Y 等等操作。

注意
第一步問你是否是安裝一個全域的 PEAR 還是本地的(... 不清楚這個怎麼翻譯合適),推薦輸入 local,測試發現僅僅是 pear.ini 的位置不同... 但推薦放在 PHP 目錄,而不是 C:Windows 目錄。
最後一個步驟是問你是否修改 php.ini 中的 include_path,確認即可。

修改完 php.ini 後,整個安裝流程結束,我們重啟下 Apache / Nginx。

修改系統內容變數,加入 PEAR 的安裝位置

為了讓我們每次用的時候不那麼蛋疼的敲入 D:SERVERPHPpear ooxx...,而是更優雅的敲入 pear install ...,我們得設定下環境變數。

開啟環境變數設定對話方塊(電腦 - 右鍵 - 屬性 - 進階系統設定 - 環境變數),在系統變數處,找到 PATH 這個項,雙擊,加入:

;D:SERVERPHP

注意和你的 PHP 安裝位置保持一致,然後要和前面的配置有分號分隔。

PATH 修改確定後,點擊系統變數處的 建立 按鈕,再加一個項,變數名為 PHP_PEAR_PHP_BIN,變數值為 D:SERVERPHPphp.exe,仍然要注意和你的安裝位置保持一致。

確認安裝無誤

開啟一個 CMD 視窗,輸入:

set %PATH% = ‘.‘

然後關閉 CMD 視窗...
好吧我不是在和你開玩笑,因為 Windows 的環境變數需要重啟才會生效,我們這裡利用了一個技巧:
當你嘗試在 CMD 下修改 %PATH% 後,Windows 在下個回話會重新讀取 %PATH%,這樣就達到我們更新 %PATH% 的目的了。

現在重新開啟一個 CMD 視窗,輸入:

pear

看到 PEAR 的協助資訊了麼,好,PEAR 安裝完成。

等等!

測試發現,你以為安裝完成了?其實不然。
當然,如果你不在意 PEAR 把它的安裝檔案搞得滿硬碟都是的話,你可以跳過這個步驟。

經過上面坑爹的配置後,我興緻勃勃的運行了下面一節的命令,結果發現,O Shit,PEAR 面不改色的把它的包安裝進了 C:php 目錄下。
我不是告訴你安裝在我設定的 D:SERVERPHP 目錄下了嗎?嗯?你怎麼能這麼厚臉皮呢?嗯?

我們來看下 PEAR 的配置,開啟 CMD,輸入:

pear config-show

於是,你發現,你之前的對 PEAR 多達 12 項的配置基本是徒勞的,丫仍然是預設值...
好吧,一項項的手動改回去:

pear config-set php_dir D:SERVERPHPpear...

最後,為了讓之前安裝的包使用新的配置,我們需要強制重新安裝一次:

pear upgrade --force

好,終於安裝完成了。

安裝 PHPUnit

剩下的就簡單多了。

開啟 CMD,輸入以下命令:

pear upgrade pearpear channel-discover components.ez.nopear channel-discover pear.phpunit.depear channel-discover pear.symfony-project.compear install --alldeps phpunit/PHPUnit

等待安裝完成,我們輸入 phpunit 來驗證安裝:

PHPUnit 3.6.10 by Sebastian Bergmann.Usage: phpunit [switches] UnitTest [UnitTest.php]       phpunit [switches]  --log-junit        Log test execution in JUnit XML format to file.  --log-tap          Log test execution in TAP format to file.  --log-json         Log test execution in JSON format.  --coverage-clover  Generate code coverage report in Clover XML format.  --coverage-html
Generate code coverage report in HTML format. --coverage-php Serialize PHP_CodeCoverage object to file. --coverage-text= Generate code coverage report in text format. Default to writing to the standard output. ...

嗯,可以收工了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.