Table of Contents

Source Development

The source code behind PHP is managed through the versioning system SVN. There are three active branches:

In SVN, when checking out these modules it will also automagically include the TSRM, Zend and ZendEngine2 modules.

Getting the source code

There are two main methods for getting the latest PHP source files, either directly from SVN or by downloading a Snapshot

SVN

This is where developers actively add/modify code. A few differences from snaps:

Snapshots

Each branch is built around four times a day, and the snapshots system runs a few scripts in order to lesson the burden of required tools for building. A few differences from SVN:

Building

Because PHP is a glue for many other libraries, often times third-party libraries are required to build it. For example, if you want to build in Postgresql support then the server doing the build requires access to PostgreSQL and its developmental (head) files. When a system uses packages or RPMs, often times this means also installing foo-dev or foo-devel packages as they contain the needed header files.

The PHP configure system checks for these libraries and will inform you if they are missing.

Configuration options specific to developers

Learning how to write php-src code

Writing an extension

Bugs

The bugs system is used to report bugs and feature requests for internals and related activities like the documentation and php.net website.

Writing Tests

Writing tests means ...

Documentation

Communication