Rasmus Lerdorf recently posted instructions for testing the upcoming PHP 5.4 release. Running the PHP tests and submitting the associated report will help the PHP team get PHP 5.4 ready faster as it gives them reports of failed tests from a variety of platforms. I just did this today for the first time and can tell you that it is very easy. Following are the steps that Rasmus outlined, in a bit more detail.
First, make sure that you have subversion, autoconf, automake, gcc, bison, flex, and re2c installed. I’m using a Mac, so I was able to install most of these using MacPorts (Homebrew would have worked, too). Next, do a checkout of the PHP 5.4 branch:
$ svn co https://svn.php.net/repository/php/php-src/branches/PHP_5_4 php54
$ cd php54 $ ./buildconf $ ./configure $ make $ make test
Both the make and make test steps may take awhile. Assuming you get some failed tests like I did, then you will see the following message and prompt:
You may have found a problem in PHP. This report can be automatically sent to the PHP QA team at http://qa.php.net/reports and http://news.php.net/php.qa.reports This gives us a better understanding of PHP's behavior. If you don't want to send the report immediately you can choose option "s" to save it. You can then email it to email@example.com later. Do you want to send this report now? [Yns]:
I opted to send the report now, so entered Y. Next, I was prompted for my email address:
Please enter your email address. (Your address will be mangled so that it will not go out on any mailinglist in plain text):
I entered my email address and then:
Posting to http://qa.php.net/buildtest-process.php Thank you for helping to make PHP better.
Pretty straightforward. At this point, your report should be aggregated on the PHP Test Reports Summary page. If you want to run more tests, then configure as many extensions as possible during the configure step. Take a look at the shell script in Rasmus’ instructions for details. If you’d like, you can examine the failed tests and see if you can come up with a patch to fix the problem. Again, see Rasmus’ instructions for details.