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

爲 Windows 下的 PHP 安裝 PEAR 和 PHPUnit

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

有須要安裝 PHPUnit 來測試腳本,搜索到一篇文章,記錄下來。html

注意
PHP 5.2 的目錄下貌似是有 PEAR 目錄的,也有 go-pear.bat,這個你能夠自行研究下,看是否可用。
我這裏測試的是 PHP 5.4,默認不自帶 go-pear.bat,因此,若是你是 5.2 的話,這個教程是否可用我沒有驗證。json

先安裝 PEAR

因爲 PHPUnit 依賴 PEAR,咱們先把 PEAR 安裝上。windows

修改 php.ini

在 Windows 上安裝 PEAR 也比較簡單,首先咱們來設置下 php.ini(通常在 C:Windowsphp.ini,若是是綠色安裝,則在你的套件目錄下查找便可)中的一個參數:測試

phar.require_hash = Off

默認是註釋掉的,咱們把前面的分號去掉,而後將 On 改成 Off。
ui

下載並安裝 go-pear.phar

接下來到 http://pear.php.net/go-pear.phar 下載該文件,放到你的 PHP 安裝目錄,以 D:SERVERPHP 爲例。
打開 CMD 命令提示符窗口,輸入以下:spa

cd /D D:SERVERPHP
php go-pear.phar

如不出所料,安裝流程應該沒有問題,其中的各項參數配置你懂的話就修改,不懂的話就直接回車或 Y 等等操做。.net

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

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

修改系統環境變量,加入 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 pear
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear 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. ...

嗯,能夠收工了。

相關文章
相關標籤/搜索