ホームページ >php教程 >php手册 >PHP の拡張を始める

PHP の拡張を始める

WBOY
WBOYオリジナル
2016-06-21 09:08:011356ブラウズ

1. php を展開します
2. 3 つの拡張方法
3. 拡張機能 dll による拡張
4. 概要

まず、以下はすべて win 上で行われ、使用されるツールは vc++6.0 であることに注意してください。
PHP を拡張する
PHP は、便利で高速なスタイルで Web システム開発において急速に重要な位置を占めています。簡単に言うと、拡張機能をどのように拡張できるかを見てみましょう。 3
外部モジュール
組み込みモジュール
Zend エンジン
3 つの方法の長所と短所については、PHP マニュアル http://www.php.net/manual/en/zend.possibilities.php
を参照してください。
拡張 dll

1. まず、PHP のソースに移動します。
ext、main、TSRM、Zend も必要になります (CVS からダウンロードする必要があります)。 )、および PHP ディレクトリ php4ts.lib

2. 以下に示すように、VC を開き、新しい Win32 ダイナミック リンク ライブラリを作成します



3. [OK] をクリックし、[空の DLL プロジェクト] を選択して、[完了] をクリックします。
4. ビルドのアクティブ構成を設定します:)



5. プロジェクト->設定



全体は次のとおりです。ZEND_DEBUG=0、COMPILE_DL_BINZY、ZTS=1、ZEND_WIN32、PHP_WIN32 ,HAVE_BINZY=1



これはインクルード パスであり、上記のパスを追加できます



マルチスレッド DLL を選択します



php4ts.lib~~ をリンクする必要があります。 )
お、忘れていました。/Tc パラメーターを追加することを忘れないでください。



6. コードを作成します。

頭を構築し、体を構築します。
Binzy.h

// Binzy Wu
// 2004-4-9
// PHP 拡張機能

#if HAVE_BINZY
extern zend_module_entry binzy_module_entry;
#define binzy_module_ptr &binzy_module_entry

PHP_FUNCTION(hellobinzy); MINFO_FUNCTION(binzy); //
#endif



Binzy .c
// Binzy Wu
/ / 2004-4-9
// PHP 拡張機能

#include "php.h"
#include "Binzy.h"


#if HAVE_BINZY

#if COMPILE_DL_BINZY
ZEND_GET_モジュール(binzy)
#endif

function_entry binzy_functions[] = {
PHP_FE(hellobinzy, NULL)
{NULL, NULL, NULL}
};
"binzy"、binzy_functions、NULL、 NULL、NULL、NULL、PHP _MINFO(binzy )、NO_VERSION_YET、STANDARD_MODULE_PROPERTIES
};

PHP_MINFO_FUNCTION(binzy)
{
php_info_print_table_start()
php_info_print_table_row(2, "Binzy 拡張機能", "有効にする");
php_info_print_table_end() ;} function(hellobinzy){Zend_printf( "hello binzy"); ?
hellobinzy();
?> ;



ほほ~~~




phpinfo();



まとめ
これから順を追って説明していきます. ゆっくりと掘り下げていきますが、いくつか理解できないことがあります。 私は初心者です。

Binzy Wu

ご質問がある場合は、ディスカッション エリアにアクセスして、この記事に関連するディスカッションに参加してください: http://club.phpe.net/index.php?act=ST&f=15&t=4809







声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。