What You’ll Need

To develop a PHP extension, you’ll need a copy of the PHP source code and various software development tools, as discussed next.

The PHP Source

Fetch a copy of the current CVS version of the PHP code to ensure that you are using the most up-to-date version of the API. See http://cvs.php.net for instructions on how to obtain the CVS version of the code via anonymous CVS.

PHP comes with a skeleton extension framework generator called ext_skel; this little script is a lifesaver. You should spend some time studying the README.EXT_SKEL and README.SELF-CONTAINED-EXTENSIONS files that come with the PHP source code.

The PHP source code offers you dozens of example extensions to look at. Each subdirectory in the ext/ directory contains a PHP extension. Chances are that just about anything you need to implement will in some way resemble one of the existing examples, and you are strongly encouraged to steal/borrow as much existing code as possible (with proper attribution, of course).

Software Tools

To write an extension, you need to have working versions of these tools installed:

  • bison

  • flex

  • m4

  • autoconf

  • automake

  • libtool

  • An ANSI-compliant compiler such as gcc

  • make

  • sed, awk, and Perl are also used optionally here and there

These are all standard tools available free on the Internet (see http://www.gnu.org for most of them). If you are running a Linux distribution or any of the BSD operating systems, follow your distribution’s mechanism for installing new packages.

On Windows, things are a little ...

Get Programming PHP, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.