ホームページ > バックエンド開発 > PHPチュートリアル > LINUX環境向けのPHP拡張機能開発コード例の共有

LINUX環境向けのPHP拡張機能開発コード例の共有

黄舟
リリース: 2023-03-06 20:22:01
オリジナル
1422 人が閲覧しました


LINUX環境でPHP拡張機能を開発する手順は次のとおりです:

1. PHPソースコードをダウンロードし、解凍したディレクトリは/root/lamp/php-5.5.37です。

2. /root に移動し、/lamp/php-5.5.37/ext ディレクトリに test_extension.def ファイルを作成します

int a(int x, int y)string b(string str, int n)
ログイン後にコピー

3. 拡張機能

frameworkgeneratorを介してフレームワーク ディレクトリを生成します。 ext_skel –extname=test_extension –proto=test_extension.def 成功した生成結果は次のとおりです:

Creating directory test_extension
awk: /root/lamp/php-5.5.37/ext/skeleton/create_stubs:56: warning: escape sequence `\|' treated as plain `|'
Creating basic files: config.m4 config.w32 .svnignore test_extension.c php_test_extension.h CREDITS EXPERIMENTAL tests/001.phpt test_extension.
php [done].To use your new extension, you will have to execute the following steps:
1.  $ cd ..
2.  $ vi ext/test_extension/config.m4
3.  $ ./buildconf
4.  $ ./configure --[with|enable]-test_extension
5.  $ make
6.  $ ./sapi/cli/php -f ext/test_extension/test_extension.php
7.  $ vi ext/test_extension/test_extension.c
8.  $ make
Repeat steps 3-6 until you are satisfied with ext/test_extension/config.m4 and
step 6 confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.
ログイン後にコピー

4. 生成されたフレームワーク ディレクトリに切り替えます: cd test_extension

5.

config ファイル
config.m4 を変更し、行 10、11、および 12 の前の dnl を削除します。

6. aとbの実装

function

関数、vi test_extension.c、修正された関数aとbは次のとおりです

7. test_extensionディレクトリで実行します: /usr/local/bin/phpize

Configuring for:
PHP Api Version:         
20121113Zend Module Api No:      
20121212Zend Extension Api No:   
220121212
ログイン後にコピー

8. 設定: ./configure – with-php-config=/usr/local/bin/php-config

9. コンパイル: make

10. インストール: make install
インストールが完了したら、/usr/local/lib /php/extensions/no-debug-zts- Test_extension.so は 20121212/

11 の下に生成されます。php.in を変更して、extension=test_extension.so

を追加します。

以上がLINUX環境向けのPHP拡張機能開発コード例の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート