Ich habe vor kurzem phpunit über das Birnen-Installationsprogramm auf meinem Server installiert.
Wenn ich einen Test durchführe, wird folgende Fehlermeldung angezeigt:
PHP-Warnung: require_once (PHPUnit / Util / Filter.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis in / usr / bin / phpunit in Zeile 44
Schwerwiegender PHP-Fehler: require_once (): Fehler beim Öffnen erforderlich 'PHPUnit / Util / Filter.php' (include_path = '.: / Usr / bin / php') in / usr / bin / phpunit in Zeile 44
Nach einigen Suchvorgängen habe ich versucht, einige Änderungen am include_path in meiner php.ini-Datei auf dem Server vorzunehmen. Aber das hat nichts getan.
Irgendeine Idee, was dies verursachen könnte?
ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_php" ERROR: Unknown Role class: "PEAR_Installer_Role_Pear_Installer_role_data"
letzten Schritt wird ein Fehler angezeigt./etc/php5/apache2/php.ini
,/etc/php5/cli/php.ini
und musste es machen sind Eltern und Unterverzeichnisse:include_path = ".:/usr/share/php:/usr/share/php/PEAR"
sudo pear channel-discover pear.symfony.com
und es gelangsudo pear install --alldeps phpunit/PHPUnit
You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014.
... was diese Antwort ungültig macht.Ich hatte dieses Problem unter OS X. Es wurde mit den folgenden Befehlen behoben, die die Neuinstallation aller PHP-Abhängigkeiten erzwangen, einschließlich einiger Pakete von anderen Kanälen, die noch nicht konfiguriert waren:
quelle
PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/share/php/PHPUnit/Framework.php on line 46
channel-discover pear.phpunit.de
der Lage sein, phpunit / phpunit zu installieren, und dann erhalte ich denrequire_once(PHPUnit/Util/Filter.php)
Fehler ... die Datei befindet sich nirgends auf meinem Dateisystem.You have installed PHPUnit via PEAR. This installation method is no longer supported and http://pear.phpunit.de/ will be shut down no later than December, 31 2014.
... was diese Antwort ungültig macht.https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
und speziell dieser Kommentar für Ubuntu 11.04 und möglicherweise auch für einige andere
Obwohl ich diese Schritte wie oben empfohlen ausgeführt habe, habe ich sie nicht zum Laufen gebracht, aber nachdem ich Pear von 1.9.1 auf 1.9.2 aktualisiert habe, funktioniert es perfekt
speshu @ speshu-Laptop: ~ $ Sudo Pear Upgrade Birne
downloading PEAR-1.9.2.tgz ... Starting to download PEAR-1.9.2.tgz (295,120 bytes) .....................................................done: 295,120 bytes upgrade ok: channel://pear.php.net/PEAR-1.9.2 PEAR: Optional feature webinstaller available (PEAR's web-based installer) PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer) PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer) PEAR: To install optional features use "pear install pear/PEAR#featurename"
quelle
Wenn Sie PEAR zum ersten Mal verwenden, haben Sie den Include-Pfad möglicherweise nicht richtig konfiguriert. Schauen Sie sich den entsprechenden Abschnitt im PEAR-Handbuch an .
quelle
https://github.com/sebastianbergmann/php-code-coverage
sb@ubuntu ~ % pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded sb@ubuntu ~ % pear channel-discover components.ez.no Adding Channel "components.ez.no" succeeded Discovery of channel "components.ez.no" succeeded sb@vmware ~ % pear install phpunit/PHP_CodeCoverage downloading PHP_CodeCoverage-0.9.0.tgz ... Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes) .........................done: 108,376 bytes install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0
quelle
Sind Sie sicher, dass Sie es dem include_path hinzugefügt haben?
Es könnte auch hilfreich sein, wenn wir Ihre INI-Datei und das darin enthaltene Include_path-Snippet sehen ...
quelle
Ich habe es gefunden!
Sieht aus wie PEAR PHPUnit in / usr / share / pear installiert. Ich weiß nicht warum, aber dort ist es. Muss eine (mt) Sache sein.
Wie auch immer, ich bin fertig. Danke für die Hilfe.
quelle
Dies ist auch der Fall, wenn Sie eine veraltete oder unvollständige PHPUnit-Installation haben. Bitte beachten Sie, dass Sie nach dem Einrichten von PEAR den Kanal PHPUnit.de hinzufügen müssen, um ein aktuelles Paket zu erhalten.
quelle
In meinem Fall habe ich es gelöst, indem ich
/usr/share/php/PEAR
zum hinzugefügt habeinclude_path
.Ich benutze Ubuntu 10.04.2.
quelle
Wenn Sie Probleme beim Zugriff auf Komponenten haben, versuchen Sie es auf eine andere Weise.
Birne installieren
Installieren Sie
phpunit
mit Birne.pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
Install
phpunit
/ Selenium, aber zuerst müssen Sie dascurl
Modul installierenquelle
Ich hatte das gleiche Problem. Netbeans berichtete, dass die phpunit-Version zu alt war (was es nicht war). Wenn Sie das phpunit-Skript direkt ausführen, werden die obigen Meldungen angezeigt.
Ich habe es gelöst und hinzugefügt:
include_path=".:/usr/share/php"
Zu /etc/php5/cli/php.ini
Bitte beachten Sie, dass die Datei php.ini die für die PHP-CLI (Befehl) ist und nicht die für Apache verwendete Datei php.ini!
quelle
Mein ursprüngliches Problem war, dass ich die Befehlszeilenversion von PHP (yum install php oder yum install php-cli) nicht zum Upgrade auf => php5.2.7 bekommen konnte. Ich steckte in der 5.1-Version fest
Ich hatte bereits PHP 5.3.3 für die Verwendung mit Apache kompiliert. Daher habe ich eine symbolische Verknüpfung von / usr / bin / php (Standard der Befehlszeile) zu meiner kompilierten Version in / var / php5 / bin / php eingerichtet, um die Befehlszeilen-PHP-Berichterstattung 5.3.3 zu erhalten
Dann folgte ich den Birneninstallationsschritten für phpunit
Aber es brauchte immer noch die Code-Abdeckung, als ich phpunit ausführte.
Also habe ich die Codeabdeckung unter / var / php5 / lib / php / PHP / CodeCoverage gesucht und diese dem Include-Pfad in der php.ini hinzugefügt. Include_path = ".: / Var / php5 / lib / php /"
Stellen Sie sicher, dass Sie es dem Include-Pfad ohne / PHP hinzufügen, da phpunit bei PHP / (Hinweiskappen) beginnt und nach Code Coverage sucht. Fehlgeschlagenes Öffnen erforderlich 'PHP / CodeCoverage / Filter.php'
quelle
Ich hatte dieses Problem. Ich habe eine Zend-Framework-Site entwickelt. Schließlich schaffe ich es, es zu lösen, indem ich die zend-Installation entferne und den Include-Pfad in bath php.ini-Dateien in Apache und CLI entferne / kommentiere. Um eine Site mit zend zu entwickeln, muss zend nicht installiert sein. Sofern können wir die Bibliothek in unseren Site-Ordner kopieren
quelle
Für mich hat es geholfen, Tests in mehrere Chargen aufzuteilen.
quelle
Sie können dieses Problem lösen, indem Sie die Umgebungsvariablen in PEAR neu definieren. So habe ich das Problem gelöst und Ubuntu 12.10 verwendet
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
Kurz gesagt, es definiert die Pfade und installiert dann phpunit neu
quelle
Ubuntu 12.04:
quelle
Ich hatte das gleiche Problem mit Windows 8 Ähnlich wie bei der obersten Antwort musste ich die Befehlszeile starten, aber stellen Sie sicher, dass Sie cmd.exe als Administrator ausführen . Dann die beiden Befehle
pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
quelle