C PHP7/8 拡張機能の開発: クイック スタート チュートリアル
はじめに:
PHP 開発では、機能を向上させるために C を使用して効率的な拡張機能を作成する必要がある場合があります。パフォーマンスを向上させたり、特別な機能を実装したりできます。この記事では、C を使用して PHP7/8 拡張機能を開発する方法と、すぐに始めるためのヒントを紹介します。
1. 環境の準備:
始める前に、環境を準備する必要があります。まず、PHP7/8 と対応する開発ツールキットがシステムにインストールされていることを確認します。
次に、PHP のソース コードをダウンロードし、現在の PHP バージョンに対応するソース コード バージョンを選択し、それをローカル ディレクトリに抽出する必要があります。
次に、コマンド ラインを使用して解凍された PHP ソース コード ディレクトリに移動し、次のコマンドを実行してコンパイル環境を構成します。
$ ./configure --prefix=/usr/local/php7 $ make $ make install
最後に、php という名前のファイルを編集する必要があります。 ini を開き、次のコンテンツを追加して拡張ライブラリを有効にします:
extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902/my_extension.so
2. 拡張を記述します:
次に、拡張の記述を開始します。 my_extension というフォルダーを作成し、そのフォルダー内に my_extension.cpp というファイルを作成します。
まず、関連するヘッダー ファイルを導入する必要があります:
#include <php.h> #include <ext/standard/info.h>
次に、この拡張関数を定義します:
ZEND_FUNCTION(my_hello) { php_printf("Hello C++ Extension! "); }
次に、拡張関数リストを定義します:
const zend_function_entry my_extension_functions[] = { ZEND_FE(my_hello, NULL) ZEND_FE_END };
その後、拡張モジュール情報を定義する必要があります:
zend_module_entry my_extension_module_entry = { STANDARD_MODULE_HEADER, "my_extension", my_extension_functions, NULL, NULL, NULL, NULL, NULL, PHP_MINFO(my_extension), PHP_MY_EXTENSION_VERSION, STANDARD_MODULE_PROPERTIES };
最後に、拡張機能の初期化関数をエクスポートする必要があります:
ZEND_GET_MODULE(my_extension)
3. 拡張機能をビルドします。
拡張機能を完成する 記述したら、拡張機能をビルドする必要があります。まず、拡張機能のディレクトリに移動し、次のコマンドを実行して Makefile を生成します:
$ /usr/local/php7/bin/phpize
次に、次のコマンドを実行して構成します:
$ ./configure --with-php-config=/usr/local/php7/bin/php-config
最後に、拡張機能をコンパイルしてインストールします:
$ make $ make install
4. 拡張機能を使用します。
拡張機能が正常にインストールされたら、この拡張機能を PHP プログラムで使用できるようになります。 test.php という名前の新しいファイルを作成し、次のコードを追加します:
<?php my_hello(); ?>
ファイルを保存して実行します。「Hello C Extension!」という出力が表示されれば、拡張機能は正常に実行されています。
結論:
この記事では、C を使用して PHP7/8 拡張機能を開発する方法を紹介し、簡単な例を示します。この記事を通じて、C での PHP 拡張機能の開発をすぐに開始し、基本的なスキルを習得できます。お役に立てれば! PHP 拡張機能についてさらに詳しく知りたい場合は、公式ドキュメントや関連情報をさらに確認してください。
以上がPHP7/8 拡張機能の C++ 開発: クイック スタート チュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。