这里先书写一个模型,稍后会继续扩展,欢迎高手和我讨论,我的QQ:500685 config.m4 文件 dnl dnl $ Id: $ dnl dnl # PHP_ARG_ENABLE(test2,whether to enable test2 functions) dnl # [ --enable-test2 Enable test2 support] if test "$PHP_TEST2" != "no"; then PHP_NEW_EXTENSION(test2,test2.cpp,$ext_shared) PHP_SUBST(TEST2_SHARED_LIBADD) PHP_ADD_LIBRARY_WITH_PATH(test2, $TEST2_LIBDIR, TEST2_SHARED_LIBADD) PHP_ADD_INCLUDE($TEST2_INCDIR) fi test2.cpp 文件 /* Authors:tao feng */ #ifdef HAVA_CONFIG_H #include "config.h" #endif #define PHP_TEST2_MODULE_VERSION "0.0.1" #include <php.h> #include <stdio.h> #include <string.h> #include <sys/socket.h> #include <pthread.h> #include <stdlib.h> //include head file //if class use PHP_ME ![]() static zend_function_entry test2_functions[] = { PHP_FE(hellowword,NULL) (NULL,NULL,NULL) } zend_module_entry test2_module_entry = { #if ZEND_MODULE_API_NO >= 20010901 STANDARD_MODULE_HEADER, #endif "test2", NULL, //import zend_function_entry PHP_MINIT(test2), NULL, //PHP_MSHUTDOWN(test2), NULL, //PHP_RINIT(test2), NULL, //PHP_RSHUTDOWN(test2), PHP_MINFO(test2), PHP_TEST2_MODULE_VERSION, STANDARD_MODULE_PROPERTIES }; #ifdef COMPLIE_DL_TEST2 extern "C"{ ZEND_GET_MODULE(test2) } #endif PHP_MINFO_FUNCTION(test2) { php_info_print_table_start(); { php_info_print_table_row(2,"test module support","enabled"); php_info_print_table_row(2,"Extension version",PHP_TEST2_MODULE_VERSION); } php_info_print_table_end(); } //PHP_METHOD(CLASS,FUNCTION) ![]() PHP_FUNCTION(hello_world) { zend_printf("hello world"); } /* PHP_MSHUTDOWN_FUNCTION(test2) { return SUCCESS; } PHP_RINIT_FUNCTION(test2) { return SUCCESS; } PHP_RSHUTDOWN_FUNCTION(test) { return SUCCESS; } */ |