PHP 5 のさまざまな機能と柔軟性を考えると、それが何千ものファイルの 何百万行というコードから出来上がっていると聞いても驚かないことでしょう。 また、そのようなデータを管理するには 何らかのビルドシステムが必要となるのも無理もないことです。 このセクションでは、拡張モジュール開発用に PHP をセットアップする方法や PHP ソースツリー内における拡張モジュールの配置、 そして拡張モジュールをビルドする方法を説明します。
PHP を普通にインストールすると、 デバッグ機能よりもパフォーマンスの向上に主眼を置いて最適化された設定になります。 実際に運用することを考えると、これは妥当な選択でしょう。 しかし、拡張モジュールを開発する環境としてはあまりよくありません。 何か問題がおこったときに、どこが悪いのかを調べやすくするように PHP をビルドする必要があります。
Zend Engine ではメモリマネージャが提供されており、 拡張モジュール内で発生したメモリリークを追跡することができます。 また、詳細なデバッグ情報を取得することもできます。 しかし、この機能はデフォルトでは無効になっており、 スレッドセーフであることを優先しています。 この機能を使うには、configure のオプションに --enable-debug と --enable-maintainer-zts を追加します。 PHP をソースからビルドする方法については インストールにあたっての一般的な注意事項 の説明を参照ください。典型的な configure の設定は次のようになります。
$ ./configure --prefix=/where/to/install/php --enable-debug --enable-maintainer-zts --enable-cgi --enable-cli --with-mysql=/path/to/mysql