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. und 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, daher kann das Problem gelöst werden, wenn das PHP an diesem Speicherort auf die aktuell verwendete PHP5.6.7-Version verweist .
Die Lösung lautet 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
2. Überprüfen Sie die Version von /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/ Sicherungsversion von bin/php, Sie können sie wiederherstellen, wenn ein Problem auftritt
sudo cp /usr/bin/php /usr/bin/php55
4. Löschen Sie /usr/bin/php
sudo rm /usr/bin/php
5. Erstellen Sie einen /usr/bin/php-Softlink, der auf php5.6.7 php verweist
sudo ln -s /usr/local/Cellar/php56/5.6.7/bin/php /usr/bin/php
6. Überprüfen/ Wurde usr/bin/php aktualisiert?
/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.
In diesem Artikel wird erläutert, wie Probleme beim Testen von PHP-Einheiten gelöst werden. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
Erklärung der Ersetzungsmethode php str_replace für bestimmte Zeiten
Anweisungen zur Verwendung von header, headers_sent, headers_list, header_remove
Fragen Sie MySQL über PDO ab, um die Feldzahl in String zurückzugeben Typ Lösung
Das obige ist der detaillierte Inhalt vonLösungen für Probleme beim PHPUnit-Testen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!