Heute werden wir eine lokale LAMP-Entwicklungsumgebung einrichten, da die PHP-Version, die mit dem System geliefert wird, 5.5.14 ist, aber wir müssen sie verwenden PHP für die Entwicklung.oder höher, daher ist PHP 5.6.7 installiert. Dies führt dazu, dass im System zwei PHP-Versionen vorhanden sind.
Normale Entwicklung ist kein Problem, aber wenn phpunit verwendet wird, ruft phpunit das systemeigene PHP 5.5.14 zur Ausführung auf. Die von mir installierten PHP-Erweiterungen (wie Memcache, Redis usw.) sind alle auf der Version von PHP 5.6.7 installiert.
Wenn Sie phpunit für Unit-Tests verwenden, wird eine Meldung angezeigt, dass die Erweiterung nicht installiert ist. (z. B. Memcache-Funktion nicht gefunden).
Das von phpunit aufgerufene PHP ist /usr/bin/php, also verweisen Sie das PHP an dieser Stelle auf die aktuelle Version von php5.6.7 Lösen Sie die Problemfrage.
Die Lösung ist wie folgt:
1. Überprüfen Sie die aktuell verwendete PHP-Version
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
sudo cp /usr/bin/php /usr/bin/php55
sudo rm /usr/bin/php
sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /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
Nach der Ausführung ist das Problem behoben.
Das Obige stellt die Lösungen für Probleme vor, die durch das Vorhandensein von zwei PHP-Versionen im System verursacht werden, einschließlich der Aspekte des PHPUnit-Tests. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.