上一页 1 2 3 4 5 6 ··· 9 下一页

2018年3月23日

php-7.2.3源代码和php-5.6.26源代码摘录,对比 “汇编php文件”和“执行opcode代码”

摘要: php-7.2.3 在“汇编php文件”和“执行opcode代码”上做了大量改变php-5.6.26 没见到支持抽象语法树的相关代码,php-7.2.3 见到支持抽象语法树的相关代码php-5.6.26 存在“保存active_op_array现场”的代码,php-7.2.3 去除了“保存activ 阅读全文

posted @ 2018-03-23 17:12 周~~ 阅读(286) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - include_once、require_once、include、require、eval 的opcode处理器

摘要: # ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER 实现在文件 php-5.6.26\Zend\zend_vm_execute.h static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE ze... 阅读全文

posted @ 2018-03-23 10:58 周~~ 阅读(288) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - 如何用C语言支持“类似异常”机制

摘要: 代码编写在文件php-5.6.26\Zend\zend.h #define zend_bailout() _zend_bailout(__FILE__, __LINE__) #ifdef HAVE_SIGSETJMP # define SETJMP(a) sigsetjmp(a, 0) // 设置跳转点 # define L... 阅读全文

posted @ 2018-03-23 10:57 周~~ 阅读(160) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - opcode处理器,“函数调用opcode”处理器,如何调用扩展模块的函数

摘要: // opcode处理器 --- ZEND_DO_FCALL_SPEC_CONST_HANDLER实现在 php-5.6.26\Zend\zend_vm_execute.h static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE zva... 阅读全文

posted @ 2018-03-23 10:56 周~~ 阅读(164) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - opcode处理器,“乘法opcode”处理器

摘要: // opcode处理器 - 运算符怎么执行: “*” 乘法opcode处理器 static int ZEND_FASTCALL ZEND_MUL_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE SAVE_OPLINE(); fast_mul_function(&EX_T(oplin... 阅读全文

posted @ 2018-03-23 10:51 周~~ 阅读(169) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - 扩展模块的加载、注册

摘要: // main实现在文件 php-5.6.26\sapi\cgi\cgi_main.c int main(int argc, char *argv[]) { .... cgi_sapi_module->startup(){ // php_cgi_startup实现在文件 php-5.6.26\sapi\cgi\cgi_main.c ... 阅读全文

posted @ 2018-03-23 10:50 周~~ 阅读(189) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - 扩展模块的种类,扩展模块的执行埋点

摘要: 模块种类(两种) 类型一:zend的模块:(类似zend_extension=test.so) 识别方法: php.ini中以zend_extension开头的配置,如zend_extension=test.so,存放到数据结构zend_extensions中 模块的数据结构: struct _zend_... 阅读全文

posted @ 2018-03-23 10:43 周~~ 阅读(243) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - opcode处理器的注入

摘要: 1、初始化 opcode处理器列表 // main实现在文件“php-5.6.26\sapi\cgi\cgi_main.c” int main(int argc, char *argv[]) { if (cgi_sapi_module.startup(&cgi_sapi_module){ // php_cgi_startup实现在文件“php-5.6.26\... 阅读全文

posted @ 2018-03-23 10:35 周~~ 阅读(248) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - opcode列表

摘要: 文件 php-5.6.26/Zend/zend_vm_opcodes.h 阅读全文

posted @ 2018-03-23 10:28 周~~ 阅读(265) 评论(0) 推荐(0) 编辑

php-5.6.26源代码 - opcode执行

摘要: 文件 php-5.6.26/Zend/zend_vm_execute.h 阅读全文

posted @ 2018-03-23 10:26 周~~ 阅读(174) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页

导航