扩展开发
李景山-编程者
就是想简单的写代码.......................
展开
-
[李景山php] PHP扩展开发系列教程-1
PHP的核心由两部分组成。最底层是zend引擎(ZE)。另一部分是PHP内核,她绑定了SAPI层(Server Application Programming Interface).扩展的内存管理1 依赖ZE内部管理2 自己写内存管理创建基础hello 扩展config.m4这个是 Phpize 用来编译的扩展文件的配置文件php_hello.h 配置文件进行配置文件hello.c原文件 关键的代原创 2017-05-26 09:01:24 · 439 阅读 · 0 评论 -
[李景山php] PHP扩展开发系列教程2-通过php.ini初始化你扩展的配置
通过php.ini初始化你扩展的配置Zend引擎提供了两种管理ini值的途径。 假设你要在php.ini中为你的扩展定义一个值,hello.greeting,它保存将在hell_world()函数中用到的问候字符串。你需要向hello.c和php_hello.h中增加一些代码,同时对hell_module_entry结构作一些关键性的改变。第一步:修改 php_hello.h中靠近用户空间函数的原原创 2017-05-27 08:55:08 · 347 阅读 · 0 评论 -
[李景山php] PHP扩展开发系列教程2-设置全局变量
背景扩展经常需要一个特定的请求中由始至终跟踪一个值,而且要把它与可能同时发生的其它请求分开。对于一般的单线程的SAPI程序来说,只要在源文件中添加一个全局变量即可。但是对于php需要跟多线程的如 apache,nginx 等配合使用,他需要保持各个线程使用的全局数值的独立。通过使用 TSRM (Thread Safe Resource Management ,线程安全的资源管理器 ) 抽象层–有时原创 2017-05-29 08:06:03 · 1667 阅读 · 0 评论 -
[李景山php] PHP扩展开发系列教程3-接收用户参数
简介与用户空间的代码不同,内部函数的参数实际上并不是在函数头部声明的,而是将参数列表的地址传入每个函数—不论是否传入了参数—而且,函数可以让Zend 引擎将它们转化为便于使用的东西。通过定义 hello_greeteme() 展示输出同样需要在三个地方增加代码:php_hello.h声明新的函数:PHP_FUNCTION(hello_greetme);hello.c声明新的使用:PHP_FE(hel原创 2017-05-31 08:52:06 · 586 阅读 · 0 评论 -
[李景山php] 扩展解析
// 包含 php 系列配套文件 #ifdef HAVE_CONFIG_H #include "config.h" // 包含配置文件 #endif#include "php.h" // 包含 php的头文件 #include "php_ini.h" // 包含php初始化配置文件 #include "ext/standard/info.h" // 包含标准扩展头信息 #include "php_d原创 2017-06-02 09:16:22 · 395 阅读 · 0 评论