it-swarm.com.de

phpunit required_once () Fehler

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?

78
user185305

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
123
arunas_t

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
34
Steven Green

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"
13
jspeshu

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.

8
jeroen

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
4
stanleyhlng

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.

2
Josh Koenig

(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 ...

2
meder omuraliev

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.

2
user185305

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.

2
Marcelo

Wenn Sie Probleme beim Zugriff auf Komponenten haben, versuchen Sie es auf andere Weise.

  1. Birne installieren

    Sudo apt-get install php-pear
    
  2. Installieren Sie phpunit mit Birne.

    pear config-set auto_discover 1
    pear install pear.phpunit.de/PHPUnit
    
  3. Installieren Sie phpunit/Selenium, aber zuerst müssen Sie das Modul curl installieren

    Sudo apt-get install php5-curl 
    pear install phpunit/PHPUnit_Selenium
    
1
denz

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. 

0
lepe

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
0
Moak

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'.

0
user1003932

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

0
Ruwantha

Für mich hat das Aufteilen von Tests in mehrere Chargen geholfen.

0
amitchhajer

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

0

Ubuntu 12.04:

Sudo pear channel-discover pear.symfony.com
Sudo pear install --alldeps phpunit/PHPUnit
0
RBalazs