1.需要实现的细节在php.ini加上

[initest]

initest.username=test

nitest.userage=99

实现一个initest类 ,实现一个ini_echo方法,打印相关内容

2.initest扩展

2.1创建类的扩展:

[root@bogon ext]# cd /usr/local/src/php-7.0.3/ext

[root@bogon ext]# ./ext_skel --extname=initest

2.2 修改配置

[root@bogon ext]# vim initest/config.m4dnl 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])

2.3 实现代码

在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[] */};

2.4 编译* [root@bogon hello]# [root@localhost person]# ./configure && make && make install

2.5 扩展安装[initest]

initest.userage=99initest.username=test

extension=initest.so

2.6 扩展使用[root@bogon tests]# cat test.php<?php

ini_echo();[root@bogon tests]# php test.phpusername:testuserage:99- 请尊重本人劳动成功,可以随意转载但保留以下信息

- 作者:岁月经年

- 时间:2016年03月

- 来自:www.djhull.com

php 读取php.ini,php7 读取php.ini[4]相关推荐

  1. .net精简框架集下的ini文件读取(C#)

    无论是.net框架集还是.net精简框架集都能非常完美的支持XML文件,并且微软也强烈建议用xml文件取代ini文件,但是在工控领域大部分的工程都是采用ini文件配置的系统信息的. 以前的隧道管理系统 ...

  2. php.ini添加的变量读取,PHP5 在扩展里使用 INI 指令(直接添加和配合全局变量两种方式)...

    PHP 扩展开发的文章,我均已更新至<TIPI>(下面的博文可能已经过时,以 TIPI 上的内容为准). 我们的很多配置都是从php.ini里读取的,这个想必大家都非常熟悉了. 什么时候需 ...

  3. java读取、写入保存、遍历ini文件配置数据

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java读取ini配置文件,将数据写入ini文件,遍历ini文件 需要引入org.dtools.javaini包,下载 测试代码 public s ...

  4. INI 文件读取专用类

    一.INI文件读取专用 public class IniFile { /// <summary> /// 读取INI文件专用类 /// </summary> private H ...

  5. Golang:ini文件读取,go-ini

    文章目录 go-ini/ini的使用 前言 `go-ini`的分区 `go-ini`的安装 ini文件的格式 读取ini文件的配置项 直接加在ini文件,通过方法读取 定义结构体来存放配置项,将配置项 ...

  6. php读取不到指定的php.ini配置

    新建启动脚本 启动时指定路径 解决方案一:修改  /etc/init.d/php-fpm 文件 1 # 在这行命令上添加 指定的配置路径 2 php_opts="--fpm-config $ ...

  7. php fpm www.conf,PHP7中php.ini、php-fpm和www.conf 配置

    PHP7中php.ini.php-fpm和www.conf 配置 php.ini是php运行核心配置文件,下面是一些常用配置 extension_dir="" ● 设置PHP的扩展 ...

  8. PHP7中php.ini、php-fpm和www.conf的配置

    PHP7中php.ini.php-fpm和www.conf的配置时间 2015-06-27 19:05:00 TypeCodes 原文 http://typecodes.com/web/php7con ...

  9. Oracle使用ini启动,python操作ini类型配置文件的实例教程

    一.ini文件介绍 INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中.这种配置文件的文件扩展名多为INI 二.ini ...

最新文章

  1. 企业应用平台移动化发展趋势
  2. linux下防火墙的管理工具firewall-cmd
  3. Mockito的使用(二)——@InjectMocks、@Spy、@Mock
  4. python第一周心得体会_Python学习第一周学习总结
  5. 基于redis分布式锁实现的多线程并发程序(原创)
  6. 查看apk包名和Activity的方法
  7. codeforces855 C. Helga Hufflepuff‘s Cup(树形dp)
  8. kmeans python_k-means python实践
  9. html引vue怎么实现国际化,Vue项目中Vue-i18n和element-ui国际化开发实现过程_唇印_前端开发者...
  10. nodejs mysql 返回值_带有Mysql数据库返回值的Nodejs
  11. python中tolist()命令
  12. JAVA Excel下载学习
  13. JSP实战项目教程|基于JSP的学生请假系统开发视频教程
  14. iexplore.exe
  15. 茶馆预定APP开发功能需求
  16. Paper Reading Notes
  17. Pipeline支撑运维自动化:sftp原子模块
  18. FullCalendar 学习笔记——简单的节假日设置
  19. 大数据在车联网行业的实践与应用
  20. IP数据库的定位能力在商业端的具体应用有哪些?(一)

热门文章

  1. CVPR2021 | 基于transformer的视频实例分割网络VisTR
  2. 视频来了 | 基于结构光投影三维重建技术系列课程
  3. 论文简述 | CamVox: 一种低成本、高精度的激光雷达辅助视觉SLAM系统
  4. ResNet、Faster RCNN、Mask RCNN是专利算法吗?盘点何恺明参与发明的专利
  5. java oauth sso 源码_基于Spring Security Oauth2的SSO单点登录+JWT权限控制实践
  6. 计算机存储技术及其发展了论文,计算机网络存储技术探究-计算机网络论文-计算机论文(13页)-原创力文档...
  7. oracle的高级分组函数,group by 高级函数使用
  8. 零基础入门学习Python(30)-异常处理1
  9. Linux(11)-Linux系统下用户权限管理
  10. 同时进科俩博士,一个被围着宠着、一个却被当成空气;凭什么?