PHPUnit

End of Life for PEAR Installation Method

PHPUnit was developed in cvs.php.net and released on pear.php.net from its inception in 2001 until July 2006. PHPUnit was developed in svn.phpunit.de from July 2006 until December 2009 when its development moved to GitHub. Until today, every PHPUnit release was made available as a PEAR package. These PEAR packages were hosted on pear.phpunit.de since July 2006.

Since PHPUnit 3.7, released in the fall of 2012, using the PEAR Installer was no longer the only installation method for PHPUnit. Today most users prefer to use a PHP Archive (PHAR) of PHPUnit or Composer to download and install PHPUnit.

Starting with PHPUnit 4.0, the PEAR package of PHPUnit was merely a distribution mechanism for the PHP Archive (PHAR) and many of PHPUnit's dependencies were no longer released as PEAR packages. Furthermore, the PEAR installation method has been removed from the documentation.

We are taking the next step in retiring the PEAR installation method with today's release of PHPUnit 3.7.35 and PHPUnit 4.0.17. These two releases are the last versions of PHPUnit released as PEAR packages. Installing them using the PEAR Installer will trigger a deprecation message on every execution of the commandline test runner.

If you have installed PHPUnit 3.7 using the PEAR Installer then you need to uninstall at least the PHPUnit, PHPUnit_MockObject, and PHP_CodeCoverage PEAR packages:

$ pear uninstall phpunit/PHPUnit \
phpunit/PHPUnit_MockObject \
phpunit/PHP_CodeCoverage

If you have installed PHPUnit 4.0 using the PEAR Installer then you only need to uninstall the PHPUnit PEAR package:

$ pear uninstall phpunit/PHPUnit

You may have other packages from the pear.phpunit.de channel installed, for instance as dependencies for other tools that you may have installed. If "pear list -c phpunit" shows that you still have packages from the pear.phpunit.de channel installed then you should uninstall those packages, too. Please make sure, though, that these packages are not required by other tools that you may have installed.

The shutdown of pear.phpunit.de also means that all other packages that were hosted on this PEAR channel can no longer be installed via PEAR. These packages include dependencies of PHPUnit such as PHP_CodeCoverage and PHPUnit_MockObject as well as tools such as PHPCPD and PHPLOC.

You can download PHP Archives (PHARs) of these tools at phar.phpunit.de.

We would like to use this opportunity to thank Stig Bakken for his work on PEAR in the early days of PHP 4, Greg Beaver for his work on the PEAR Installer, and Fabien Potencier for his work on Pirum without which maintaining a PEAR channel server this long would have been unbearable.

Update (December 1, 2014): We have released PHPUnit 3.7.36 and PHPUnit 4.0.18 as PEAR packages. These PEAR packages do not install a working version of PHPUnit. They merely install a script that prints an error message.

Update (December 31, 2014): The process of retiring pear.phpunit.de was tracked in ticket #1229. The final step was the shutdown of pear.phpunit.de.