今天要搭建本機的LAMP開發環境,因係統自帶的php版本是5.5.14,但開發要使用的是php 5.6以上,因此安裝了php 5.6.7。這樣導致了系統中有兩個版本的php存在。
正常開發是沒有問題的,但如果使用了phpunit,phpunit會呼叫系統自帶的php 5.5.14來執行。而我安裝的php擴充(例如memcache,redis等)都是安裝在php 5.6.7的這個版本上。
使用phpunit做單元測試時,會提示擴充功能沒有安裝的情況。 (例如memcache function not found)。
phpunit 呼叫的php是/usr/bin/php,因此把這個位置的php指向現在使用的php5.6.7版本即可解決問題。
解決方法如下:
#1.查看目前使用的php版本
#php -v PHP 5.6.7 (cli) (built: Apr 20 2015 23:10:47) (DEBUG) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans
2.查看/usr/bin/php的版本
#/usr/bin/php -v PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
3.把/usr/ bin/php的版本備份,當有問題時可以恢復
sudo cp /usr/bin/php /usr/bin/php55
#4.把/usr/bin/php刪除
#
sudo rm /usr/bin/php5.建立/usr/bin/php softlink 指向php5.6.7的php
sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /usr/bin/php
6.檢查/ usr/bin/php 是否已更新/usr/bin/php -v
PHP 5.6.7 (cli) (built: Apr 20 2015 23:10:47) (DEBUG)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Xdebug v2.3.2, Copyright (c) 2002-2015, by Derick Rethans
本文解釋了關於phpunit測試出現問題的解決方法 ,更多相關內容請關注php中文網的。
相關推薦:
php str_replace 取代指定次數方法的解說
以上是關於phpunit測試出現問題的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!