Ich habe vor kurzem phpunit über den Pear Installer auf meinem Server installiert.
Wenn ich einen Test durchführe, erhalte ich die folgende Fehlermeldung:
PHP Warnung: requir_once (PHPUnit/Util/Filter.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder Verzeichnis in/usr/bin/phpunit in Zeile 44
PHP Schwerwiegender Fehler: requir_once (): Fehler beim Öffnen von 'PHPUnit/Util/Filter.php' (include_path = '.:/Usr/bin/php') in/usr/bin/phpunit in Zeile 44
Nach einiger Suche habe ich versucht, den include_path in meiner php.ini-Datei auf dem Server zu ändern. Aber das hat nichts getan.
Irgendeine Idee, was das verursacht?
UPDATE: Ab November 2013 und Ubuntu 12.04 sollten diese beiden Befehle ausreichen:
Sudo pear config-set auto_discover 1
Sudo pear install pear.phpunit.de/PHPUnit
Das Folgende ist eine ältere Antwort ... Es ist ein bekanntes Problem, obwohl fast anderthalb Jahre vergangen waren. Lesen Sie hier darüber
Die Codeabdeckung muss installiert sein, damit phpunit ordnungsgemäß funktioniert
Was Sie tun müssen, ist hier abgedeckt:
Code Coverage Installation durch PEAR
Grundsätzlich müssen Sie Folgendes eingeben (mit Sudo, wenn Sie keine Berechtigungen haben, vorausgesetzt, dass phpunit bereits installiert ist):
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage
Ich hatte dieses Problem unter OS X. Dieses Problem wurde mit den folgenden Befehlen behoben, durch die alle PHP-Abhängigkeiten erneut installiert wurden. Dazu gehörten einige Pakete aus anderen Kanälen, die noch nicht konfiguriert waren:
Sudo pear channel-discover pear.symfony-project.com
Sudo pear channel-discover components.ez.no
Sudo pear install --alldeps phpunit/PHPUnit
https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
und speziell dieser Kommentar für Ubuntu 11.04 und kann auch für einige andere sein
obwohl ich die oben genannten Schritte ausgeführt habe, habe ich es nicht zum Laufen gebracht, aber nachdem ich Birne von 1.9.1 auf 1.9.2 aufgerüstet habe, funktioniert es perfekt
speshu @ Speshu-Laptop: ~ $ Sudo Birne 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"
Wenn Sie PEAR zum ersten Mal verwenden, haben Sie den Include-Pfad möglicherweise nicht richtig konfiguriert. Schauen Sie sich den entsprechenden Abschnitt im Handbuch PEAR an.
https://github.com/sebastianbergmann/php-code-coverage
[email protected] ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded
[email protected] ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded
[email protected] ~ % 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
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.
(include_path = '.:/usr/bin/php')
Bist du sure hast du es zum include_path hinzugefügt?
Es könnte auch hilfreich sein, wenn wir Ihre Ini-Datei und den darin enthaltenen Include_path-Ausschnitt sehen ...
Ich habe es gefunden!
Anscheinend hat PEAR PHPUnit in/usr/share/pear installiert. Nicht sicher warum, aber dort ist es. Muss eine (mt) Sache sein.
Jedenfalls bin ich fertig. Danke für die Hilfe.
In meinem Fall habe ich es gelöst, indem ich /usr/share/php/PEAR
zum include_path
hinzugefügt habe.
Ich verwende Ubuntu 10.04.2.
Wenn Sie Probleme beim Zugriff auf Komponenten haben, versuchen Sie es auf andere Weise.
Birne installieren
Sudo apt-get install php-pear
Installieren Sie phpunit
mit Birne.
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
Installieren Sie phpunit
/Selenium, aber zuerst müssen Sie das Modul curl
installieren
Sudo apt-get install php5-curl
pear install phpunit/PHPUnit_Selenium
Ich hatte das gleiche Problem. Netbeans meldete, dass die phpunit-Version zu alt war (was es nicht war). Beim Ausführen des Phpunit-Skripts wurden die obigen Meldungen direkt angezeigt.
Ich löste es durch Hinzufügen von:
include_path=".:/usr/share/php"
Zu /etc/php5/cli/php.ini
Bitte beachte, dass es sich bei der php.ini-Datei nicht um die für den PHP-Befehl (Befehl), sondern um die für Apache verwendete php.ini handelt.
Ich hatte das gleiche Problem mit Windows 8 Ähnlich wie die erste Antwort musste ich die Befehlszeile starten. Stellen Sie jedoch sicher, dass Ausführen von cmd.exe als Administrator. Dann die beiden Befehle
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
Mein ursprüngliches Problem war, dass ich die Befehlszeilenversion von PHP (yum install php oder yum install php-cli) nicht erhalten konnte, um ein Upgrade auf => php5.2.7 durchzuführen. Ich war auf der Version 5.1 festgefahren
Ich hatte bereits PHP 5.3.3 für die Verwendung mit Apache erstellt. Also richte ich einen symbolischen Link von/usr/bin/php (Standardeinstellung der Befehlszeile) zu meiner kompilierten Version in/var/php5/bin/php ein, um die Befehlszeilen-PHP-Berichterstattung zu erhalten. 5.3.3
Dann habe ich die Installation der Birne für phpunit nachgeholt
Aber es brauchte immer noch das Code Covering, wenn ich Phpunit lief.
Also habe ich die Codeabdeckung unter/var/php5/lib/php/PHP/CodeCoverage gesucht und dem Include-Pfad in 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/(Notice Caps) beginnt, und suchen Sie nach Code Coverage Fehlerhaftes Öffnen 'PHP/CodeCoverage/Filter.php'.
Ich hatte dieses Problem. Ich habe eine Zend-Framework-Site entwickelt. Schließlich löse ich es, indem ich die zend-Installation entferne und den Include-Pfad in den php.ini-Dateien von bath in Apache und cli kommentiere. Um eine Site mit zend zu entwickeln, müssen wir zend nicht installiert haben. Dann können wir die Bibliothek in unseren Site-Ordner kopieren
Für mich hat das Aufteilen von Tests in mehrere Chargen geholfen.
Sie können dieses Problem lösen, indem Sie die Umgebungsvariablen in PEAR .. neu definieren. Auf diese Weise 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
Ubuntu 12.04:
Sudo pear channel-discover pear.symfony.com
Sudo pear install --alldeps phpunit/PHPUnit