2012-02-24 5 views
10

Sto cercando di ottenere phpUnit in esecuzione su un centesimo in esecuzione pannes plesk.phpUnit - File/Iterator/Autoload.php ha fallito l'apertura

Ho installato correttamente phpunit.

Package   Version State 
File_Iterator  1.3.1 stable 
PHPUnit   3.6.10 stable 
PHPUnit_MockObject 1.1.1 stable 
PHP_CodeCoverage 1.1.2 stable 
PHP_Invoker  1.1.0 stable 
PHP_Timer   1.0.2 stable 
PHP_TokenStream 1.1.3 stable 
Text_Template  1.1.1 stable 

però ogni volta che faccio funzionare l'ordine PHPUnit dalla shell ottengo il seguente errore:

PHP Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in /usr/share/pear/PHPUnit/Autoload.php on line 45
PHP Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.:') in /usr/share/pear/PHPUnit/Autoload.php on line 45

Qualcuno ha idea di come risolvere il problema?

+0

Cosa dice 'pear info phpunit/File_Iterator'? Sembra che non sia stato installato, ma PHPUnit dipende da questo. –

+1

Sul mio Mac OSX 10.7.1 in /etc/php.ini il percorso include era/user/lib/php/pera invece di/usr/lib/php/pera È sorprendente per quanto tempo si può fissare qualcosa e non nota la e supplementare! –

+1

Credo che questa sia la risposta corretta a qualsiasi domanda relativa all'unità php File_Iterator. https://github.com/sebastianbergmann/php-file-iterator –

risposta

2

Il percorso di inclusione deve includere la directory in cui PEAR installa tutti quei pacchetti. Aggiungi /usr/share/pear al percorso di inclusione in php.ini - probabilmente /etc/php5/cli/php.ini.

2

Su Ubuntu (10.04) ho anche aggiunto /usr/share/php allo /etc/php5/cli/php.ini.

4

Non sono sicuro di come questo si traduce per plesk, ma il problema è il percorso_clash specificato nel file php.ini è impostato solo sulla directory corrente. Verifica in cui il file php.ini è quello di eseguire la seguente dalla riga di comando ...

% php --info 

... e cercare le seguenti voci ...

file di configurazione (php.ini) Path =>/etc

Loaded Configuration File => /etc/php.ini

In questo caso, modificare /etc/php.ini e cercare il per include_path. Nel mio caso ho bisogno di impostarlo come segue ...

include_path = ".:/opt/php-5.3.14/lib/php/pear" 
0

In Fedora stampa 19 è stato risolto con l'aggiunta del /usr/share/pera/ percorso del include_path di /etc /php.ini

6

ho provato un miliardo di diversi articoli e comandi che finalmente risolto questo problema per me sono stati i seguenti:

sudo pear channel-discover pear.phpunit.de 
sudo pear install --alldeps --force phpunit/phpunit 

Poi, whe n Ho eseguito phpunit, non ho ricevuto gli errori ed è stato eseguito correttamente.