PHPは現在広く使われている言語で、海外のFacebookやTwitterから国内のタオバオ、テンセント、百度、インターネット上のあらゆる大中小のWebサイトに至るまで、様々なWebサイトで見ることができます。 PHP の成功は、そのオープンな拡張 API メカニズムと豊富な拡張コンポーネント (PHP 拡張) に大きく依存していると言えます。PHP がさまざまなデータベース操作から XML、JSON、暗号化、ファイル処理までを実行できるようにするのは、これらの拡張コンポーネントです。グラフィックス処理やSocketなどの分野で万能です。場合によっては、開発者が独自の PHP 拡張機能を開発する必要がある場合があります。PHP5 の現在の拡張機能メカニズムは、豊富なインターフェイスとマクロ定義に加えて、いくつかの実用的なツールを備えているため、PHP 拡張機能の開発はそれほど難しくありません。この記事では、PHP 拡張機能コンポーネントの開発に関する基本的な知識を紹介し、例を通じて PHP 拡張機能を開発する基本プロセスを示します。
PHP 拡張コンポーネントの開発プロセスは Unix 環境と Windows 環境では異なりますが、基本的には相互運用可能です。この記事は Unix 環境 (特に Linux を使用) に基づいて説明します。この記事を読むには、Unix 環境についての簡単な理解、PHP および C 言語の基本的な知識が必要です。簡単な理解がある限り、オペレーティング システムと言語の特殊な機能については触れず、必要に応じて説明します。読者の読みを容易にします。
この記事の具体的な開発環境は、Ubuntu 10.04 + PHP 5.3.3です。
PHP ソース コードをダウンロードする
PHP 拡張機能を開発するには、最初のステップとして PHP ソース コードをダウンロードします。これには、拡張機能の開発に必要なツールが含まれています。私がダウンロードしたのは、tar.bz2 圧縮パッケージ形式の PHP 5.3.3 の最新バージョンです。ダウンロード アドレスは、http://cn.php.net/get/php-5.3.3.tar.bz2/from/a/mirrorです。
ダウンロード後、ソースコードを適切なディレクトリに移動して解凍します。解凍コマンドは:
<ol class="dp-xml"><li class="alt"><span><span>tar -jxvf 源码包名称 </span></span></li></ol>
tar.gz 圧縮パッケージをダウンロードした場合、解凍コマンドは
<ol class="dp-xml"><li class="alt"><span><span>tar -zxvf 源码包名称 </span></span></li></ol>
解凍後、ソース コード ディレクトリに ext ディレクトリが作成されます。これは、PHP 拡張機能に関連するディレクトリです。ディレクトリに入って ls で表示すると、多数の既存の拡張子が表示されます。下の写真は私の環境で閲覧した結果です: