PHPの拡張方法
2410 ワード
1.php 2を拡張します.拡張の3つの方式3.extension dll方式の拡張4.小結はまず、以下のすべてがwinの下で行われ、使用するツールのvc++6.0に注意する.あなたのPHPPHPを拡張して便利で速い風格で迅速にwebシステムの開発の中で重要な地位を占めました.PHP自体は豊富な大量の関数と機能を提供した.長話短説拡張方法を見てみましょう拡張の3種類の方式External ModulesBuilt-in ModulesThe Zend Engineの3種類の方式の優劣はPHPマニュアルを参照することができる.http://www.php.net/manual/en/zend.possibilities.phpextension dll1. まず次のphpのsourceに行きます.以下の重要なディレクトリがいくつか見られます.ext,main,TSRM,Zend,またbindlib_が必要かもしれませんw 32(cvsから上下する必要がある)、PHPディレクトリの下のphp 4 ts.lib2. VCを開き、次の図3のようにWin 32 Dynamic-Link Libraryを新規作成します.点ok,'An Empty Dll Project',and click finish.4.BuildのActive Configurationを設定する.選択:5.Project->settings.定義済みID全体は以下の通りです.ZEND_DEBUG=0,COMPILE_DL_BINZY,ZTS=1,ZEND_WIN32,PHP_WIN32,HAVE_BINZY=1これは経路を含むものであり、上述のいくつかの経路を加えることができる.Multithreaded DLLを選択し、名前をつけるときは勝手にlink php 4 tsにします.lib~~:)o、忘れないで、/Tcのパラメータを加えるのを忘れないでください.コードを書く頭を建て、体を建てる.Binzy.h
//Binzy Wu//2004-4-9//PHP Extension #if HAVE_BINZY extern zend_module_entry binzy_module_entry; #define binzy_module_ptr &binzy_module_entry PHP_FUNCTION(hellobinzy);//PHP_MINFO_FUNCTION(binzy);//#endif
Binzy.c
6.コンパイル...phpを変更します.ini,restart apache,phpを書く
hoho~~~
phpinfo();
小結
これは入門編ですが、これからはもう一歩~~.ゆっくりと深く入り込んで、私も知らないことがあります.私は初心者です.
//Binzy Wu//2004-4-9//PHP Extension #if HAVE_BINZY extern zend_module_entry binzy_module_entry; #define binzy_module_ptr &binzy_module_entry PHP_FUNCTION(hellobinzy);//PHP_MINFO_FUNCTION(binzy);//#endif
Binzy.c
// Binzy Wu
// 2004-4-9
// PHP Extension
#include "php.h"
#include "Binzy.h"
#if HAVE_BINZY
#if COMPILE_DL_BINZY
ZEND_GET_MODULE(binzy)
#endif
function_entry binzy_functions[] = {
PHP_FE(hellobinzy, NULL)
{NULL, NULL, NULL}
};
zend_module_entry binzy_module_entry = {
STANDARD_MODULE_HEADER,
"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 Extension", "Enable");
php_info_print_table_end();
}
PHP_FUNCTION(hellobinzy)
{
zend_printf("Hello Binzy");
}
#endif
6.コンパイル...phpを変更します.ini,restart apache,phpを書く
hellobinzy();
?>
hoho~~~
phpinfo();
小結
これは入門編ですが、これからはもう一歩~~.ゆっくりと深く入り込んで、私も知らないことがあります.私は初心者です.