ホームページ  >  記事  >  バックエンド開発  >  C サンプルによる PHP 拡張機能の開発 (基本編)_PHP チュートリアル

C サンプルによる PHP 拡張機能の開発 (基本編)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:21:24938ブラウズ

ステップ 1: 拡張スケルトンを作成します。
[html]
cd /usr/local/src/php-5.3.6/ext/
./ext_skel --extname=ライウェンホイ

cd /usr/local/src/php-5.3.6/ext/
./ext_skel --extname=laiwenhui ステップ 2: コンパイル パラメータを変更します。
[html] plaincopyprint?cd php-5.3.6/ext/laiwenhui を表示します
vi config.m4

cd php-5.3.6/ext/laiwenhui
vi config.m4 を削除します
PHP_ARG_ENABLE(laiwenhui、laiwenhui サポートを有効にするかどうか、
[ --enable-laiwenhui laiwenhui サポートを有効にする])
2行前のDNL
に変更されました:
dnl それ以外の場合は、enable:
を使用します PHP_ARG_ENABLE(laiwenhui、laiwenhui サポートを有効にするかどうか、
dnl コメントが整列していることを確認してください:
[ --enable-laiwenhui laiwenhui サポートを有効にする])


ステップ 3: コードを書く
[html]
vim php_laiwenhui.h

vim php_laiwenhui.h

PHP_FUNCTION(confirm_laiwenhui_compiled);

の後に新しい行を追加します

PHP_FUNCTION(テスト);

[html]

ヴィム・ライウェンホイ.c

ヴィム・ライウェンフイ.c

PHP_FE(confirm_laiwenhui_compiled, NULL)

後で追加

PHP_FE(テスト、NULL)

**ファイルの最後に次のコードを追加します:**
[html]
PHP_FUNCTION(テスト)
{
char *arg = "これは私の最初の拡張です!"; イントレン
文字 *strg;
len = spprintf(&strg, 0, "%sn",
); RETURN_STRINGL(strg, len, 0); }

PHP_FUNCTION(テスト)
{
char *arg = "これは私の最初の拡張機能です!";

イントレン;

char *strg;

len = spprintf(&strg, 0, "%sn", arg);
RETURN_STRINGL(strg, len, 0);
}ステップ 4: コードをコンパイルする

[html]

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
作る
インストールを行う

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
作る

インストールする

私の PHP インストール パスは次のとおりです: /usr/local/php
このとき、/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/laiwenhui.so
というファイルが生成されます。
PHP 構成ファイル php.ini を編集し、拡張子を追加します:
[html]
vim php.ini

vim php.ini が [PHP] モジュールに追加されました:
[html]
拡張子 = laiwenhui.so

extension = laiwenhui.so php.ini ファイルの extension_dir を次のディレクトリに変更します:
[html]
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

ステップ 5: インストール結果を確認します

1. php-fpm、ngixnを再起動します

2./use/local/php/bin/php -m
laiwenhui 拡張機能が含まれているかどうかを確認してください。


ステップ 6: テストコードを実行する

Webサイトのルートディレクトリにtest.phpを作成します
vim test.php

コードの内容は以下の通りです

エコーテスト();

実行後の結果は次のとおりです:
初めての拡張です!

上記の手順を正常に完了できれば、最初の拡張が完了しました。


http://www.bkjia.com/PHPjc/477166.html

www.bkjia.com

http://www.bkjia.com/PHPjc/477166.html技術記事ステップ 1: 拡張機能のスケルトンを構築します。 [html] cd /usr/local/src/php-5.3.6/ext/ ./ext_skel --extname=laiwenhui cd /usr/local/src/php-5.3.6/ext/ ./ext_skel --extname= laiwenhui第二段階:修理...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPの共通関数次の記事:PHPの共通関数