標籤: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. ...
嗯,可以收工了。