2011-11-10 16 views
24

Ho cercato di far funzionare PHPunit per il mio progetto zend framework e ho riscontrato vari problemi. Ho reinstallato PEAR e disinstallato PHPunit e reinstallato entrambi.Impossibile far funzionare PHPunit

mio errore corrente è

[email protected]:~$ phpunit PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48

Sto usando Ubuntu 11.10, PHP 5.3.6-13ubuntu3.2

sarei molto grato se qualcuno mi potrebbe dare alcune indicazioni. Ho cercato molto su google, ma nulla sembra risolvere il mio problema.

Grazie,

Demian.

Ecco il mio discarica shell che mostra ciò che ho fatto di recente:

[email protected]:~$ phpunit 
The program 'phpunit' is currently not installed. You can install it by typing: 
sudo apt-get install phpunit 

[email protected]:~$ sudo pear channel-discover pear.phpunit.de 
[sudo] password for demian: 

Channel "pear.phpunit.de" is already initialized 

[email protected]:~$ sudo pear channel-discover pear.symfony-project.com 

Channel "pear.symfony-project.com" is already initialized 

[email protected]:~$ sudo pear channel-discover components.ez.no 

Channel "components.ez.no" is already initialized 

[email protected]:~$ sudo pear update-channels 

Updating channel "components.ez.no" 

Channel "components.ez.no" is up to date 

Updating channel "doc.php.net" 

Channel "doc.php.net" is up to date 

Updating channel "pear.php.net" 

Channel "pear.php.net" is up to date 

Updating channel "pear.phpunit.de" 

Channel "pear.phpunit.de" is up to date 

Updating channel "pear.symfony-project.com" 

Channel "pear.symfony-project.com" is up to date 

Updating channel "pecl.php.net" 

Channel "pecl.php.net" is up to date 

[email protected]:~$ sudo pear upgrade-all 

Will upgrade channel://pear.php.net/benchmark 

downloading Benchmark-1.2.8.tgz ... 

Starting to download Benchmark-1.2.8.tgz (8,352 bytes) 

.....done: 8,352 bytes 

upgrade-all ok: channel://pear.php.net/Benchmark-1.2.8 

[email protected]:~$ sudo pear install --force --alldeps phpunit/PHPUnit 

downloading PHPUnit-3.6.3.tgz ... 

Starting to download PHPUnit-3.6.3.tgz (116,362 bytes) 

.........................done: 116,362 bytes 

install ok: channel://pear.phpunit.de/PHPUnit-3.6.3 

[email protected]:~$ pear install phpunit/PHP_CodeCoverage 

phpunit/PHP_CodeCoverage is already installed and is the same as the released version 1.1.1 

install failed 

[email protected]:~$ phpunit 


PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open 
stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 

PHP Fatal error: require_once(): Failed opening required 
'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ pear install phpunit 

Warning: lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in PEAR/REST.php on line 276 
PHP Warning: lstat(): Lstat failed for /tmp/pear/cache/312d32445ed39d8611ead5ee1d8cd72frest.cacheid in /usr/share/php/PEAR/REST.php on line 276 
No releases available for package "pear.php.net/phpunit" 
install failed 

[email protected]:~$ sudo pear install phpunit 

WARNING: "pear/PHPUnit" is deprecated in favor of "phpunit/PHPUnit" 
Did not download dependencies: pear/PHP_Compat, use --alldeps or --onlyreqdeps to download automatically 
pear/PHPUnit can optionally use package "pear/PHP_Compat" 
downloading PHPUnit-1.3.2.tgz ... 
Starting to download PHPUnit-1.3.2.tgz (20,913 bytes) 
........done: 20,913 bytes 
install ok: channel://pear.php.net/PHPUnit-1.3.2 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ sudo pear uninstall phpunit 
uninstall ok: channel://pear.php.net/PHPUnit-1.3.2 

[email protected]:~$ ^C 

[email protected]:~$ pear install phpunit/PHPUnit 
phpunit/PHPUnit is already installed and is the same as the released version 3.6.3 
install failed 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 

[email protected]:~$ pear install --force phpunit/PHPUnit 

WARNING: configuration download directory "/tmp/pear/download" is not writeable. Change download_dir config variable to a writeable dir to avoid this warning 
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user 

[email protected]:~$ sudo pear install phpunit/PHPUnit 

phpunit/PHPUnit is already installed and is the same as the released version 3.6.3 
install failed 

[email protected]:~$ pear install --force phpunit/PHPUnit 

WARNING: configuration download directory "/tmp/pear/download" is not writeable. Change download_dir config variable to a writeable dir to avoid this warning 
Cannot install, php_dir for channel "pear.phpunit.de" is not writeable by the current user 

[email protected]:~$ sudo pear install --force phpunit/PHPUnit 

Did not download optional dependencies: phpunit/PHP_Invoker, use --alldeps to download automatically 
downloading PHPUnit-3.6.3.tgz ... 
Starting to download PHPUnit-3.6.3.tgz (116,362 bytes) 
.........................done: 116,362 bytes 
install ok: channel://pear.phpunit.de/PHPUnit-3.6.3 

[email protected]:~$ phpunit 

PHP Warning: require_once(PHPUnit/Framework/MockObject/Autoload.php): failed to open stream: No such file or directory in /usr/share/php/PHPUnit/Autoload.php on line 48 
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework/MockObject/Autoload.php' (include_path='.:/usr/share/php/:/usr/local/share/php/library') in /usr/share/php/PHPUnit/Autoload.php on line 48 
+0

Per errore non scrivibile vedere php.ini (riga 988) [Phar]; http://php.net/phar.readonly;phar.readonly = Off – davidcondrey

risposta

63

Raccoglie il phpunit giusta, ma gli altri pacchetti sono mancanti. Dovreste essere in grado di risolvere questo problema utilizzando

sudo pear install --alldeps --force phpunit/phpunit 

o se si desidera aggiornare solo il lib che sembra essere il problema:

sudo pear install --force phpunit/PHPUnit_MockObject 

Utenti Windows: Omettere "sudo" se si è su piattaforma Windows

+6

Sistemato usando: sudo pera install --force phpunit/PHPUnit_MockObject – dimbo

+2

che errore stupido. perché non installa mockobject come dipendenza? grazie per questo, comunque! – Duke

+0

@Duke Se pera funziona correttamente lo fa :) – edorian

Problemi correlati