您好,登錄后才能下訂單哦!
在php.ini加上
[initest]
initest.username=test
nitest.userage=99
實現一個initest類 ,實現一個ini_echo方法,打印相關內容
[root@bogon ext]# cd /usr/local/src/php-7.0.3/ext
[root@bogon ext]# ./ext_skel --extname=initest
[root@bogon ext]# vim initest/config.m4
dnl PHP_ARG_WITH(initest, for initest support, dnl Make sure that the comment is aligned: dnl [ --with-initest Include initest support])更改為: PHP_ARG_WITH(initest, for initest support, dnl Make sure that the comment is aligned: [ --with-initest Include initest support])
在php_initest.h中打開全局變量設置塊的注釋,改成自己相要的變量如下
ZEND_BEGIN_MODULE_GLOBALS(initest) zend_long userage; char *username;ZEND_END_MODULE_GLOBALS(initest)
在initest.c打開相關注釋,并添加相關代碼
ZEND_DECLARE_MODULE_GLOBALS(initest)PHP_INI_BEGIN() STD_PHP_INI_ENTRY("initest.userage","1", PHP_INI_ALL, OnUpdateLong, userage, zend_initest_globals, initest_globals) STD_PHP_INI_ENTRY("initest.username","username", PHP_INI_ALL, OnUpdateString, username, zend_initest_globals, initest_globals)PHP_INI_END()PHP_MINIT_FUNCTION(initest){ REGISTER_INI_ENTRIES(); return SUCCESS;}PHP_MSHUTDOWN_FUNCTION(initest){ /* uncomment this line if you have INI entries UNREGISTER_INI_ENTRIES(); */ UNREGISTER_INI_ENTRIES(); return SUCCESS;}static void php_initest_init_globals(zend_initest_globals *initest_globals){ //initest_globals->userage = 1; //initest_globals->username = "testusername";}PHP_FUNCTION(ini_echo){ php_printf("username:%s\n",INITEST_G(username)); php_printf("userage:%d\n",INITEST_G(userage));}const zend_function_entry initest_functions[] = { PHP_FE(confirm_initest_compiled, NULL) /* For testing, remove later. */ PHP_FE(ini_echo, NULL) /* For testing, remove later. */ PHP_FE_END /* Must be the last line in initest_functions[] */};
* [root@bogon hello]# [root@localhost person]# ./configure && make && make install
[initest] initest.userage=99initest.username=test extension=initest.so
[root@bogon tests]# cat test.php<?php ini_echo();[root@bogon tests]# php test.phpusername:testuserage:99
- 請尊重本人勞動成功,可以隨意轉載但保留以下信息 - 作者:歲月經年 - 時間:2016年03月 - 來自:www.djhull.com
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。