-
2016-12-19 13:22:05
-
2016-12-19 13:10:34
-
2016-12-19 13:04:29
-
2016-12-19 13:01:41
-
2016-12-19 11:30:57
- php内核分析(八)-zend_compile
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux回到之前看的zend_eval_stringlZEND_API int zend_eval_stringl(char *str, size_t str_len, zval *retval_ptr, char *string_name) /* {{{ */ { ... new_o ...
-
1880
-
2016-12-19 11:28:57
- php内核分析(七)-扩展
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux。我们研究下反射这个扩展。反射这个扩展目录是存在在:ext/reflection。其实里面的代码很简单。一个.h文件,一个 .c文件。我们先看下.c文件中,会看到很多 ...
-
1191
-
2016-12-19 11:24:49
- php内核分析(六)-opcode
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux查看opcodephp是先把源码解析成opcode,然后再把opcode传递给zend_vm进行执行的。// 一个opcode的结构 struct _zend_op { const void *handler; // opcode ...
-
1379
-
2016-12-19 11:19:05
- php内核分析(五)-zval
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux实际上,从这个函数开始,就已经进入到了zend引擎的范围了。zend_eval_string_ex(exec_direct, NULL, "Command line code", 1) 实际上是调用Zend/zend_exec ...
-
1955
-
2016-12-19 11:12:54
- php内核分析(四)-do_cli
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux# main把剩下的代码增加了下注释全部贴出来了(这个是简化后的main函数,去掉了一些无关紧要的代码段):int main(int argc, char *argv) { ... sapi_modu ...
-
1432
-
2016-12-19 11:08:28
- php内核分析(三)-全局变量
- 这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linuxCGCG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量。struct _zend_compiler_globals { zend_stack loop_var_stack; zen ...
-
1474