今天要搭建本機的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
/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
4.把/usr/bin/php刪除
sudo cp /usr/bin/php /usr/bin/php55
5.創建/usr/link php5.6.7的php
sudo rm /usr/bin/php
6.檢查/usr/bin/php 是否已更新
sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /usr/bin/php
執行後,問題解決。
以上就介紹了系統中有兩個version的PHP存在,導致phpunit測試出現問題的解決方法,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。