PHP TestFest VM Documentation - Home

The PHP TestFest VM is a virtual machine designed to reduce the hassle of setting up a testing environment for PHP tests. It contains compiled versions of PHP 5.2, 5.3 and 6.0 with a ton of extensions. It also has Apache, MySQL, Firebird and PostgreSQL installed. Not to mention FreeTDS to allow testing of the MsSQL extension. Finally, it includes LTP and LCOV so you can run your own code coverage reports.

VirtualBox Basics

VirtualBox is an Open Source virtualization product developed and maintained by Sun. It's free to use and supports a wide range of operating systems. It's the software I chose for creating and running the VM.

VirtualBox uses a host/guest convention for referring to the OS you are working in. Host is the OS in which VirtualBox has been installed on. Guest is the OS that you are running inside the VM.

VirtualBox uses .vdi (Virtual Disk Image) files for containing all the files related to a VM. A .vdi file is not a VM, it's an image file which is used by a VM. In essence, a .vdi is a virtual hard drive. VirtualBox then allows you to create and configure a VM which will use the vdi as it's hard drive.

Documentation Sections

Change Log: Log of changes to the VM or it's supporting file.

Guest Environment: Contains information regarding the guest OS, it's configuration and it's operation.

Install the VM: Contains VirtualBox installation and VM creation instructions. Also includes the download link to the VM.

Uninstall the VM: You may not run two of the TestFest VMs at the same time. Before installing a newer VM, use these directions to uninstall a previous VM.

Running the VM: Contains instructions on running the VM.

Running Tests: Contains instructions on running the PHP tests.

Building PHP: Contains instructions for getting and building the latest version of PHP 5.2, PHP 5.3 and PHP 6.0. This is only necessary if you want to use a version of PHP that is newer than what I've already built.

Installing PHP: Contains instructions for installing a configured and compiled version of PHP. This is only necessary if you want to install a version of PHP which is newer than what I've already installed. Please note, you do not need to install a version of PHP in order to write or run tests for it. Simply configuring and compiling it is enough and that has already been done for you.

Run LTP GCOV Report in the VM: Contains the instructions for generating and view an LTP GCOV report.


If you have any feedback, questions or problems, you can contact me in any of the following ways:

To Do

A future version of this documentation will contain a complete guide for building your own VM using VirtualBox and UbuntuServer 8.10 from scratch, should you feel the need for self-inflicted punishment.