ホームページ >バックエンド開発 >PHPチュートリアル >PHP 拡張機能の開発: カスタム関数を外部言語と対話するにはどうすればよいですか?
PHP 拡張機能を使用すると、カスタム関数を外部言語とやり取りできます。具体的な手順には、PHP 拡張モジュール ディレクトリの作成と C ファイルの作成、拡張機能のコンパイル、拡張機能の C 関数 sum の呼び出しなどがあります。ケースを確認し、結果を出力します。
PHP 拡張機能の開発: カスタム関数と外部言語の対話
PHP では、カスタム関数は拡張機能を通じて他の言語とシームレスに対話できます。この記事では、PHP 拡張機能を作成して使用して外部 C 関数を呼び出す方法を段階的に説明します。
ステップ 1: 拡張機能を作成する
まず、PHP 拡張モジュール ディレクトリを作成します:
$ mkdir php_ext_example
このディレクトリに移動して、php_ext_example.c
ファイルを作成します: php_ext_example.c
文件:
#include <php.h> #include <stdlib.h> PHP_FUNCTION(ext_fn) { // ... 自定义函数的实现 RETURN_STRING("调用成功!"); }
步骤 2:注册函数
接下来,在 php_ext_example.c
文件中注册自定义函数:
static int ext_example_init(INIT_FUNC_ARGS) { zend_declare_function(ZEND_REGISTER_MODULE_GLOBALS(ext_example), "ext_fn", ext_fn, ZEND_FN(ext_fn), 0, NULL); return SUCCESS; }
步骤 3:编译扩展
使用以下命令编译扩展:
$ phpize && ./configure && make
步骤 4:安装扩展
$ sudo cp modules/php_ext_example.so /usr/lib/php/20230904/
实战案例:调用 C 函数
假设我们有一个 C 函数名为 sum
<?php // 检查扩展是否加载 if (extension_loaded('php_ext_example')) { // 调用扩展中定义的函数 $result = ext_fn(10, 20); echo "结果:$result"; }
ステップ 2:関数を登録します
次に、カスタム関数をphp_ext_example.c
ファイルに登録します: 结果:30🎜 ステップ 3: 拡張機能をコンパイルする 🎜🎜🎜 次のコマンドを使用して拡張機能をコンパイルします: 🎜rrreee🎜 🎜ステップ 4: 拡張機能をインストールする 🎜🎜rrreee🎜🎜 実際のケース: C 関数の呼び出し 🎜🎜🎜 2 つの整数パラメータを受け入れ、その合計を返す
sum
という名前の C 関数があるとします。 PHP の拡張機能を使用してこの関数を呼び出すことができます: 🎜rrreee🎜🎜output🎜🎜rrreee🎜 これが、PHP の拡張機能を使用してカスタム関数と C 関数をやり取りする方法です。このテクノロジーを使用すると、Python、Java、JavaScript などの外部言語と対話できます。 🎜以上がPHP 拡張機能の開発: カスタム関数を外部言語と対話するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。