As per title, running phpunit -v on a fresh PHPUnit PEAR installation gives me a require_once failed error. Here is some additional information, i hope that anyone can help me with this.
Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in C:\WAMP\PEAR\pear\PHPUnit\Autoload.php on line 45
Call Stack:
0.0005 326744 1. {main}() C:\WAMP\PEAR\phpunit:0
0.0011 369184 2. require('C:\WAMP\PEAR\pear\PHPUnit\Autoload.php') C:\WAMP\PEAR\phpunit:43
Fatal error: require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.;C:\WAMP\PEAR;C:\WAMP\PEAR\pear\PHPUnit') in C:\WAMP\PEAR\pear\PHPUnit\Autoload.php on line 45
Call Stack:
0.0005 326744 1. {main}() C:\WAMP\PEAR\phpunit:0
0.0011 369184 2. require('C:\WAMP\PEAR\pear\PHPUnit\Autoload.php') C:\WAMP\PEAR\phpunit:43
php -v
PHP 5.3.14 (cli) (built: Jun 13 2012 18:51:28)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.0, Copyright (c) 2002-2012, by Derick Rethans
`pear version`:
PEAR Version: 1.9.4
PHP Version: 5.3.14
Zend Engine Version: 2.3.0
Running on: Windows NT MARCO-PC 6.1 build 7601 (Windows 7 Home Premium Edition Service Pack 1) i586
pear config-get php_dir
C:\WAMP\PEAR\pear
echo %path% (only relevant paths)
C:\WAMP\PHP;C:\WAMP\PEAR;
echo %PHP_PEAR_BIN_DIR%
C:\WAMP\PEAR
echo %PHP_PEAR_DATA_DIR%
C:\WAMP\PEAR\data
echo %PHP_PEAR_DOC_DIR%
C:\WAMP\PEAR\docs
echo %PHP_PEAR_INSTALL_DIR%
C:\WAMP\PEAR\pear
echo %PHP_PEAR_PHP_BIN%
C:\WAMP\PHP\php.exe
echo %PHP_PEAR_SYSCONF_DIR%
C:\WAMP\PEAR
echo %PHP_PEAR_TEST_DIR%
C:\WAMP\PEAR\tests
pear list -c pear.phpunit.de
INSTALLED PACKAGES, CHANNEL PEAR.PHPUNIT.DE:
============================================
PACKAGE VERSION STATE
File_Iterator 1.3.1 stable
PHPUnit 3.6.12 stable
PHPUnit_MockObject 1.1.1 stable
PHP_CodeCoverage 1.1.3 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
Check Dependencies
If you recently upgraded to PHPUnit 3.6, there’s a possibility you still have an older version of File_Iterator installed and that’s the problem (Based on a vague memory of the same error).
You can check the versions of installed packages with:
If anything looks not-right, or just to be sure upgrade PHPUnit to ensure it’s at the latest version and so are all dependencies:
Check include path
if you have the appropriate version of File_Iterator (and other dependencies) installed and
File/Iterator/Autoload.phpis missing – it’s not installed anywhere that php is looking for it. Usepear list-files phpunit/File_Iteratorto see exactly where pear thinks the file is – and verify that the file exists.If it does then the pear root is not in your path, add it and you’re good to go.