为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

php内核分析之全局变量

2017-03-29 6页 doc 7KB 18阅读

用户头像

is_496339

暂无简介

举报
php内核分析之全局变量php内核分析之全局变量   同学们,一定要努力学习哦,因为知识是不会辜负你的。以下是精心为大家整理的php内核分析之全局变量,希望对大家学习的同学有所帮助!更多内容请关注网!   这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux   CG   CG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量。   struct _zend_compiler_globals {   zend_stack loop_var_stack;   zend_class_ent...
php内核分析之全局变量
php内核分析之全局变量   同学们,一定要努力学习哦,因为知识是不会辜负你的。以下是精心为大家整理的php内核分析之全局变量,希望对大家学习的同学有所帮助!更多请关注网!   这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux   CG   CG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量。   struct _zend_compiler_globals {   zend_stack loop_var_stack;   zend_class_entry *active_class_entry;   zend_string *compiled_filename;   int zend_lineno;   zend_op_array *active_op_array;   HashTable *function_table; /* function symbol table */   HashTable *class_table; /* class table */   HashTable filenames_table;   HashTable *auto_globals;   zend_bool parse_error;   zend_bool in_compilation;   zend_bool short_tags;   zend_bool unclean_shutdown;   zend_bool ini_parser_unbuffered_errors;   zend_llist open_files;   struct _zend_ini_parser_param *ini_parser_param;   uint32_t start_lineno; // 执行文件开始执行的行号   zend_bool increment_lineno;   zend_string *doc_comment;   uint32_t extra_fn_flags;   uint32_t compiler_options; /* set of ZEND_COMPILE_* constants */   HashTable const_filenames;   zend_oparray_context context;   zend_file_context file_context;   zend_arena *arena;   zend_string *empty_string;   zend_string *one_char_string[256];   zend_string **known_strings;   uint32_t known_strings_count;   HashTable interned_strings;   const zend_encoding **script_encoding_list;   size_t script_encoding_list_size;   zend_bool multibyte;   zend_bool detect_unicode;   zend_bool encoding_declared;   zend_ast *ast;   zend_arena *ast_arena;   zend_stack delayed_oplines_stack;   #ifdef ZTS   zval **static_members_table;   int last_static_member;   #endif   };   SG   SG是从全局的sapi_global中获取属性值   // TODO:更新   typedef struct _sapi_globals_struct {   void *server_context;   sapi_request_info request_info; // 请求信息   sapi_headers_struct sapi_headers;   int64_t read_post_bytes;   unsigned char post_read;   unsigned char headers_sent;   zend_stat_t global_stat;   char *default_mimetype;   char *default_charset;   HashTable *rfc1867_uploaded_files;   zend_long post_max_size;   int options;   zend_bool sapi_started;   double global_request_time;   HashTable known_post_content_types;   zval callback_func;   zend_fcall_info_cache fci_cache;   } sapi_globals_struct;   EG   EG是从executor_globals中获取变量   // TODO: 更新   struct _zend_executor_globals {   zval uninitialized_zval;   zval error_zval;   /* symbol table cache */   zend_array *symtable_cache[SYMTABLE_CACHE_SIZE];   zend_array **symtable_cache_limit;   zend_array **symtable_cache_ptr;   zend_array symbol_table; /* main symbol table */   HashTable included_files; /* files already included */   JMP_BUF *bailout;   int error_reporting;   int exit_status;   HashTable *function_table; /* function symbol table */   HashTable *class_table; /* class table */   HashTable *zend_constants; /* constants table */   zval *vm_stack_top;   zval *vm_stack_end;   zend_vm_stack vm_stack;   struct _zend_execute_data *current_execute_data;   zend_class_entry *fake_scope; /* used to avoid checks accessing properties */   zend_long precision;   int ticks_count;   HashTable *in_autoload;   zend_function *autoload_func;   zend_bool full_tables_cleanup;   /* for extended information support */   zend_bool no_extensions;   zend_bool vm_interrupt;   zend_bool timed_out;   zend_long hard_timeout;   #ifdef ZEND_WIN32   OSVERSIONINFOEX windows_version_info;   #endif   HashTable regular_list;   HashTable persistent_list;   int user_error_handler_error_reporting;   zval user_error_handler;   zval user_exception_handler;   zend_stack user_error_handlers_error_reporting;   zend_stack user_error_handlers;   zend_stack user_exception_handlers;   zend_error_handling_t error_handling;   zend_class_entry *exception_class;   /* timeout support */   zend_long timeout_seconds;   int lambda_count;   HashTable *ini_directives;   HashTable *modified_ini_directives;   zend_ini_entry *error_reporting_ini_entry;   zend_objects_store objects_store;   zend_object *exception, *prev_exception;   const zend_op *opline_before_exception;   zend_op exception_op[3];   struct _zend_module_entry *current_module;   zend_bool active;   zend_bool valid_symbol_table;   zend_long assertions;   uint32_t ht_iterators_count; /* number of allocatd slots */   uint32_t ht_iterators_used; /* number of used slots */   HashTableIterator *ht_iterators;   HashTableIterator ht_iterators_slots[16];   void *saved_fpu_cw_ptr;   #if XPFPA_HAVE_CW   XPFPA_CW_DATATYPE saved_fpu_cw;   #endif   zend_function trampoline;   zend_op call_trampoline_op;   void *reserved[ZEND_MAX_RESERVED_RESOURCES];   };
/
本文档为【php内核分析之全局变量】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索