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