14.2 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 below.
14.2.1 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).
14.2.2 Software Tools
To write an extension, you need to have working versions of these tools installed:
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. In Windows, you can install the cygwin environment to run tools such as bison, flex, and autoconf, doing the final build using Microsoft Visual DevStudio.