
PHP内核
hguisu
这个作者很懒,什么都没留下…
展开
-
深入理解php底层:php生命周期
1、PHP的运行模式: PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完原创 2012-03-21 13:21:14 · 40250 阅读 · 9 评论 -
使用ext_skel和phpize构建php5扩展
首先声明:我们要构建的是扩展或者模块名为hello_module.该模块提供一个方法:hello_word.1、php环境的搭建我们一般使用源码包编译安装,而不是binary包安装。因为使用PHP的二进制分发包安装有些冒险,这些版本倾向于忽略./configure的两个重要选项,它们在开发过程中很便利:第一个--enable-debug。这个选项将把附加的符号信息编译进PH原创 2012-03-22 12:27:38 · 12652 阅读 · 1 评论 -
探究PHP底层
探究PHP底层1、PHP是什么?PHP 指的是我们从外面看到的一套完整的系统。这听起来有点糊涂,但其实并不复杂(PHP4 内部结构图)。从功能上来分:我们可以分为三部分:1、 解释器部分(Zend 以引擎),负责对输入代码的分析、翻译和执行;2、 功能性部分(PHP功能函数以及扩展),负责具体实现语言的各种功能(比如它的函数等等);3、 接口部分原创 2012-03-26 17:38:06 · 21169 阅读 · 3 评论 -
PHP运行模式
PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模式)1. CGI(Common Gateway Interf原创 2012-03-26 10:43:36 · 24877 阅读 · 14 评论 -
深入理解PHP的引用(References in PHP)
深入理解PHP的引用(References in PHP) huangguisu为了深入理解PHP的引用,找到一篇老外的东西: http://derickrethans.nl/talks/phparch-php-variables-article很多内容还是直接看英文版比较好,翻译过来有时候词不达意。基础知识php在zend里面存储的变量,PHP中每个变量都有对应的 zval原创 2012-04-13 19:23:19 · 5615 阅读 · 0 评论 -
PHP数组实际占用内存大小的分析
我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存:<?php echo memory_get_usage() , ''; $start = memory_get原创 2012-03-21 10:49:43 · 32543 阅读 · 2 评论 -
深入理解php内核 编写扩展 I:介绍PHP和Zend
内容:编写扩展I - PHP和Zend起步原文:http://devzone.zend.com/public/view/tag/ExtensionPart I: Introduction to PHP and Zendhttp://devzone.zend.com/article/1021-Extension-Writing-Part-I-Introduction-to-PHP-原创 2012-03-21 11:15:17 · 6050 阅读 · 1 评论 -
深入理解php内核 编写扩展_III- 资源
Part III: Resources原文:http://devzone.zend.com/article/1024-Extension-Writing-Part-III-Resources编写扩展_III- 资源介绍资源初始化资源接收资源作为函数参数销毁资源强制销毁资源持久资源查找现存的持久资源核对(代码)完整性总结3.原创 2012-03-21 11:32:14 · 5039 阅读 · 0 评论 -
深入理解php内核 编写扩展 II:参数、数组和ZVALs
原文:http://devzone.zend.com/article/1022-Extension-Writing-Part-II-Parameters-Arrays-and-ZVALsPart II: Parameters,Arrays, and ZVALs原文:http://devzone.zend.com/article/1023-Extension-Writing-Part原创 2012-03-21 11:25:26 · 5285 阅读 · 1 评论 -
PHP扩展代码结构详解
PHP扩展代码结构详解 :这个是继:使用ext_skel和phpize构建php5扩展 内容 (拆分出来)Zend_API:深入_PHP_内核:http://cn2.php.net/manual/zh/internals2.ze1.php我们使用ext_skel创建扩展 hello_module,该模块包含一个方法:hello_world。使用ext_skel 生成的代码都是原创 2012-03-31 10:49:49 · 9709 阅读 · 0 评论 -
Yacc 与 Lex 快速入门(词法分析和语法分析)
原文 :Yacc 与Lex 快速入门Lex 代表 Lexical Analyzar。Yacc 代表 Yet Another Compiler Compiler。 让我们从 Lex 开始吧。LexLex 是一种生成扫描器的工具。扫描器是一种识别文本中的词汇模式的程序。 这些词汇模式(或者常规表达式)在一种特殊的句子结构中定义,这个我们一会儿就要讨论。一种匹原创 2012-04-23 16:16:24 · 17219 阅读 · 20 评论