2 Stimmen

Zend_Tool CLI Probleme, die fatale Fehler auslösen

Bevor ich PHPUnit auf meinem Ubuntu-Rechner installierte, dachte ich, ich hätte zf.sh richtig eingerichtet. Ich war in der Lage, ein neues Projekt ohne jegliche Probleme zu erstellen. Jetzt, nach der Installation von PHPUnit, funktioniert alles nicht mehr richtig.

Wenn ich versuche, ein Testprojekt zu erstellen, erhalte ich folgende Meldung:

Fatal error: Cannot redeclare class PHPUnit_Framework_TestSuite_DataProvider in /usr/share/php/PHPUnit/Framework/TestSuite/DataProvider.php on line 64

Call Stack:
0.0011     110200   1. {main}() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/bin/zf.php:0
0.0011     110320   2. zf_main() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/bin/zf.php:23
0.0113     685448   3. zf_run() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/bin/zf.php:36
0.0113     685568   4. Zend_Tool_Framework_Client_Console::main() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/bin/zf.php:214
0.0114     686044   5. Zend_Tool_Framework_Client_Abstract->dispatch() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/library/Zend/Tool/Framework/Client/Console.php:96
0.0114     686164   6. Zend_Tool_Framework_Client_Abstract->initialize() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/library/Zend/Tool/Framework/Client/Abstract.php:209
0.0152     866128   7. Zend_Tool_Framework_Loader_Abstract->load() /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/library/Zend/Tool/Framework/Client/Abstract.php:118
0.4374    2729116   8. include_once('/usr/share/php/PHPUnit/Framework/TestSuite/DataProvider.php') /opt/ZendFramework/ZendFramework-1.9.3PL1-minimal/library/Zend/Tool/Framework/Loader/Abstract.php:90

Was muss ich tun, damit es wieder funktioniert?

Aktualisierung: Ich glaube, ich verstehe den Grund, warum dies geschieht. In PHPUnit 3.4.0 gibt es eine Klasse mit dem gleichen Namen wie im Zend Framework 1.9.3. Offenbar handelt es sich um ein bekanntes Problem . Aber wie kann ich das umgehen, damit ich Zend_Tool wieder verwenden kann? Kann ich PHPUnit herunterstufen? Wird das Problem dadurch behoben?

Aktualisierung: Dieses Lernprogramm wird etwas über die Installation eines Diff-Patches erwähnt.

2voto

Bill Karwin Punkte 493880

Ich habe eine vorübergehende Lösung gefunden:

  • Bearbeiten Sie PHPUnit/Framework.php, in der Nähe von Zeile 70:

    require 'PHPUnit/Framework/TestSuite/DataProvider.php';
  • Wechseln zu:

    require_once 'PHPUnit/Framework/TestSuite/DataProvider.php';

Dies ist wahrscheinlich keine langfristige Lösung, aber es behebt das unmittelbare Symptom.


Update 2009-11-20: Ich habe gerade einen Commit für den ZF 1.9-Zweig gesehen, der dieses Problem angeblich behebt Ausgabe . Vermutlich wird die Korrektur im nächsten Point-Release (1.9.6) und in den nachfolgenden Minor-Releases (1.10.0 und später) enthalten sein.

0voto

user210128 Punkte 1

Eine andere Lösung, die keine Änderungen am Code von Drittanbietern erfordert, ist das Kopieren des PHPUnit-Ordners an einen Ort außerhalb des include_path und erstellen Sie stattdessen einen Symlink auf den neuen Speicherort.

Einzelheiten zu diesem Thema finden Sie hier: Zend_Tool stört PHPUnit

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X