ホームページ >バックエンド開発 >PHPチュートリアル >PHP 拡張機能の作成を開始する
この記事では、単純な PHP 拡張機能 hello_world を作成することで、PHP 拡張機能がどのように作成されるかを説明します。この拡張機能には実用性はなく、純粋に拡張機能の作成方法を学ぶために使用されます。実際に実際的な PHP 拡張機能を自分で作成したい場合は、ZEND API に精通しており、C 言語に対する高い要件が必要です。
さて、本題に入りましょう。
1. PHP ソース コードの ext ディレクトリに移動し、次を実行します:
<code><span>./ext_skel --extname</span>=<span>hello_world</span></code>
2. hello_world ディレクトリに移動し、config.m4 を編集し、16、18、および 53 行目の前の dnl を削除します:
<code><span>PHP_ARG_ENABLE</span>(<span>hello_world</span>, <span>whether</span><span>to</span><span>enable</span><span>hello_world</span><span>support</span>, <span>[ --enable-hello_world Enable hello_world support]</span>) <span>AC_DEFINE</span>(<span>HAVE_HELLO_WORLDLIB</span>,1,<span>[ ]</span>) </code>
3. php_hello_world.h ファイルを変更し、元の
<code><span>#<span>define</span> PHP_HELLO_WORLD_H</span></code>
を次の内容に変更します:
<code><span>#<span>define</span> PHP_HELLO_WORLD_H 1</span><span>#<span>define</span> PHP_HELLO_WORLD_VERSION "1.0"</span><span>#<span>define</span> PHP_HELLO_WORLD_EXTNAME "hello_world"</span> PHP_FUNCTION(hello_world);<span>//这句最关键</span></code>
4. hello_world.c ファイルを変更します:
次の内容を変更します:
<code><span>const</span> zend_function_entry hello_world_functions[] = { PHP_FE(confirm_hello_world_compiled, <span>NULL</span>) <span>/* For testing, remove later. */</span> PHP_FE_END <span>/* Must be the last line in hello_world_functions[] */</span> };</code>
次に、最後に次の内容を追加します:
<code><span>const</span> zend_function_entry hello_world_functions[] = { PHP_FE(confirm_hello_world_compiled, <span>NULL</span>) <span>/* For testing, remove later. */</span> PHP_FE(hello_world, <span>NULL</span>) PHP_FE_END <span>/* Must be the last line in hello_world_functions[] */</span> }; </code>
5. ext/hello_world ディレクトリに移動し、次のコマンドを実行します
<code><span>//扩展函数正文部分</span><span>PHP_FUNCTION(hello_world)</span>{ <span>RETURN_STRING(<span>"Hello World!"</span>,<span>1</span>)</span>; }</code>
6. php.ini を編集して追加します。次の内容:
rreeテスト:
コマンドラインで次の内容を実行します:<code>/usr/<span>local</span>/php/bin/phpize <span>.</span>/configure <span>--</span><span>with</span><span>-php</span><span>-config</span><span>=</span>/usr/<span>local</span>/php/bin/php<span>-config</span> make <span>&&</span> make install </code>
<code><span>extension</span>=<span>hello_world.so</span></code>
この時点で、hello_world 拡張機能が書き込まれます。
著作権表示: この記事はブロガーによるオリジナル記事です。転載する場合は出典を明記してください。上記は、内容の側面も含めて PHP 拡張機能の作成の概要を紹介したもので、PHP チュートリアルに興味のある友人に役立つことを願っています。