3 min read

Installing PEAR and PHPUnit on WAMP and Windows 7

36 comments
ican

In the project that i am currently working on, we decided to use PHPUnit for doing our unit testing, and i found that it was not a straight forward thing to install that I had thought it would be. I had to start by installing Pear, and as soon as i type ‘go-pear’ in command prompt and pressed enter key I got my first error.

So here are the steps needed to install PEAR and PHPUnit error free on WAMP.

So let’s start with PEAR, please note my Wampserver is installed on drive ‘H’,  substitute it with your own. Also when this tutorial was written, php was in php5.3.0 folder, please use the path as per your current setup.

Steps to Install PEAR

1 ) Locate the “php.ini” file. In my case, I found it at this path:

H:\wamp\bin\php\php5.3.0\php.ini

Don’t use the WAMP system tray icon to edit this file.

2 ) Find the following line:

;phar.require_hash = On

3 ) Uncomment the “;phar.require_hash = On” line by removing the semi-colon.

4 ) Change “On” to “Off”.

phar.require_hash = Off

5 ) Save the file.

6 ) Now on command prompt type ‘go-pear’ . If it gives error, then download this file: http://pear.php.net/go-pear.phar put it in php folder and try this step again.

6 a)  If you installed phar file in the instruction above, then use command

 php go-pear.phar 

to install pear.

7 ) Select ‘local’ to the question asked.. and follow the instructions.

8 ) Now we need to edit the ‘php.ini’ again to add pear include path. Open ‘php.ini’ that we found in php5.3.0 folder and search for ‘go-pear’, you will see

;***** Added by go-pear 
include_path=".;H:\wamp\bin\php\php5.3.0\pear" 

;*****

Copy these three lines and paste it to ‘php.ini’ file which is located at :

H:\wamp\bin\apache\apache2.2.11\bin

9 ) Restart the apache, and you have PEAR installed on you machine.

But we are not done yet, to use ‘pear’ command in your command prompt from anywhere you will need to modify the windows environment variables.

10 ) Go to control panel –> system  and click on the ‘advanced system settings’ (it is on the left sidebar)

11 ) Click on the environment variables button and new/edit ‘PATH’ variable and add

‘H:\wamp\bin\php\php5.3.0’

in your path. You also need to add a new variable ‘PHP_PEAR_PHP_BIN’ and set the value to

‘H:\wamp\bin\php\php5.3.0\php.exe’

close you command prompt and open it again for these changes to take effect.

12 ) now type ‘pear’ on the command prompt and you should see pear command help printed for you.

Now that PEAR is installed, let’s install the PHPUnit.

Check out PHPCamp a place to share news, views and articles that are useful to PHP community.

Steps to install PHPUnit

1 ) On ‘C’ drive create a folder named ‘php5’

2 )Then on command prompt type:

 pear upgrade pear

2 ) Once PEAR  is updated, on command prompt type:

 pear channel-discover components.ez.no 

 pear channel-discover pear.phpunit.de

 pear channel-discover pear.symfony-project.com

4 )Finally type:

 pear install --alldeps phpunit/PHPUnit

And with this you should have PHPUnit installed on your system.

In my quest to install PHPUnit I found help from following articles

  1. Stackoverflow
  2. Wampserver forum
  3. Using Zend Framework blog

Thoughts on This Post (32)

  1. Gayane

    Thank you very very very very very very very much now i am a happy person all works! I try to fix this problem almost a two week so woow with you help and great tutorial i do it in one hour !!!!!!!!!

  2. Kris

    Perfect tutorial !!! The only thing I want to know is: what about C:php5 folder ? Should I remove it or I must keep it forever ? Days before I started my first YII framework’s star track test-driven script which requires installed PHPUnit. Now everything work. Thx Regards,

    1 Reply Reply
  3. Amit Kumar Singh

    @kris I am not really sure.. about ‘php5’ folder, i will say let it be.

  4. Darren Roberts

    Smashing stuff thanks – had many problems with getting pear & phpunit set up on wamp, and this nailed it, D

  5. Seb

    I don’t normally leave comments, but thank you so very much. After much banging of head on the wall and hours of time wasted. Thank you!

  6. perk

    thanks for this tutorial. you have been a great help!

  7. Errol

    It took me 3 1/2 hours to get this installation… thanks a lot!

  8. arpita

    Thanks for the tutorial sir…. Finally solved my problem.

  9. Sly

    If like me it doesn’t work saying that Structures/Graph is missing (windows 7 , php 5.3.5, apache 2.2.17) do the following : Go here and download the archive : http://download.pear.php.net/package/Structures_Graph-1.0.4.tgz Extract the Structures folder in your C:wampbinphpphp5.3.5PEAR Oh and if you have not the latest version by default installation like me (it installs 1.8.0 by default but PHPUnit wants 1.9.1) just run : pear upgrade pear

  10. psiborg

    This command you mentioned saved the day for me: pear upgrade pear Thanks!

  11. Anurag

    I followed your instructions and have tried few other posts including the instructions from http://www.phpunit.de/manual/3.6/en/installation.html, but no matter what I do I always get the following error when i use phpunit command from admin command prompt (on a 64bit Win 7 with PHP 5.3.3 install): Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in C:Program Files (x86)EasyPHP-.3.3.1phpphpunit on line 38 Fatal error: require_once(): Failed opening required ‘PHP/CodeCoverage/Filter.php’ (include_path=’.;C:php5pear’) in C:Program Files (x86)EasyPHP-5.3.3.1phpphpunit on line 38 Please suggest what can I do to resolve this issue Thanks! Anurag

    1 Reply Reply
  12. Amit Kumar Singh

    @anurag you need to install CodeCoverage pear package as well.

  13. Mark

    Thank you! You saved me hours of frustration!

  14. Vasanth

    I wasted 3 days with installing this wampp and phpunit and stuffs… I lost all hope and at the moment of deleting my entire project directory (with my plans) I came to your post. Worked at first shot itself. Thanx a lot bro

  15. yuri

    thxm but where is .bat?

  16. Lupida

    OMFG! Thank you SO much! After two days of screaming (and fiddling around) it finally works!

  17. RSK

    I am using uniserver and every thing went fine.But at last every thing is downloaded but i didn’t find the phpunit.bat file in php folder.

  18. RSK

    i didn’t find phpunit.bat file because the installation of phpunit was failure.I just reinstalled the whole pear solved the issue. Thankz

  19. Ken

    Tried this to install phpunit and al seemed to go fine but still cannot run it. ‘phpunit’ is not recognized as an internal or external command, operable program or batch file. is what i get from the command line. Pear tells me it is installed, when I check the phpunit folder, for me located at: C:wampbinphpphp5.3.0PEARPHPUnit there is no batch file in fact there is no file at all, just 2 folders, Extensions and Framework thats it so where is my phpunit.bat file??

  20. Hindol

    I cannot seem to find phpunit.bat, which is required by NetBeans for PHPUnit integration. Is there something else we must do?

  21. Hindol

    UPDATE: pear install –alldeps –force phpunit/phpunit – This solved my problem regarding phpunit.bat Reference: http://stackoverflow.com/questions/5301639/how-can-i-get-a-phpunit-bat-after-install-phpunit-via-pear

  22. mariek

    That’s sooo great ! thanks a lot for your help, it’s all clear and well explained.

  23. SEMASSOU MARIE NADEGE

    Bonjour Merci pour ce tutoriel, grâce a votre aide j’ai pu faire un bout de chemin en environnement Windows XP. La seule petite chose qui manque dans ton cheminement est le téléchargement de l’archive Structures_Graph-1.0.4.tgz, décompresser et copier le dossier Structure dans C:wampbinphpphp5.3.xPEAR. Merci vraiment sinon c’est un puzzle, et ton apport a été la portion la plus importante.

  24. Bene

    Hi sir am getting following error after I hit -> pear install –alldeps phpunit/PHPUnit Starting to download PHPUnit-3.6.10.tgz (118,595 bytes) ……………………..done: 118,595 bytes Could not delete C:wampbinphpphp5.2.7phpunit, cannot rename C:wampbinphp php5.2.7.tmpphpunit ERROR: commit failed Can u please sort this problem out for me.. I have been banging my head for hours … note : 1. WAMP version 2.2 with php downgraded to php 5.2.7 2. Ran cmd with admin rights.

    1 Reply Reply
  25. Amit Kumar Singh

    try removing those folders manually and see..

  26. jayasankar

    Thanks a lot this saved me so many hours thanks again

  27. arun

    If like me it doesn’t work saying that Structures/Graph is missing (windows 7 , php 5.3.5, apache 2.2.17) do the following : Go here and download the archive : http://download.pear.php.net/package/Structures_Graph-1.0.4.tgz When you extract this, you will get a file named “Structures_Graph-1.0.4”. Open it with winzip or winrar and extract again. Then you get a folder which contains ‘Structures’ folder. Copy the ‘Structures’ folder to C:wampbinphpphp5.3.5PEAR.

  28. Sunjeet

    Am facing the same issue while installing PHPUnit using pear- Could not delete C:PHPPearphpunit, cannot rename C:PHPPear.tmpphpunit ERROR: commit failed Has someone got similar issue and any steps for resolving the same. Have used cmd with Admin privileges, but still getting the error and also there is no point in deleting the folder manually as the.tmp has to be renamed post download completion of package. Please help

  29. Eve

    Thanks, Thanks for this article, when I created dir C:php then command: pear install –alldeps phpunit/PHPUnit installed phpunit with success after many hours of trials VERY THANK YOU

  30. jeeba

    Well thanks, Its was very easy to install PEAR with PHP Unit. Searching for ways on installing PEAR i found this article: http://mynewtec.blogspot.com/2011/11/install-pear-in-wamp-server-22-with-php.html What is the difference between your way and his ways?

  31. Karsho

    Helped. Simply thanks…

  32. Baljit

    Hi Amit, I tried and followed the same steps, but seems there is something which is wrong, when I run ” pear channel-discover pear.phpunit.de” this command then we get an below mentioned message “C:\wamp\bin\php\php5.5.12> pear channel-discover pear.phpunit.de Discovering channel pear.phpunit.de over http:// failed with message: channel-add: Cannot open “http ://pear.phpunit.de/channel.xml” (File http://pear.phpunit.de:80/channel.xml not valid (received: HTT P/1.1 410 Gone )) Trying to discover channel pear.phpunit.de over https:// instead Discovery of channel “pear.phpunit.de” failed (channel-add: Cannot open “https://pear.phpunit.de/cha nnel.xml” (File https://pear.phpunit.de:443/channel.xml not valid (received: HTTP/1.1 410 Gone )))” Can you please what I am doing wrong here….. any help much appreciated…. Thanks in Advance