HTTP服务七层架构技术探讨

玉面修罗  http://weibo.com/kalon 前言:太久没有做过技术分享了,这里把曾经老的新浪论坛里面使用过的架构技术做了改进和整理,最后总结了这么一篇,欢迎拍砖。 1.为什么分层?    计算机领域的体系结构普遍采用了分层的方式。    从整体结构来看:  ...

2012-03-08 13:21:09

阅读数 43627

评论数 48

zend_execute: op执行过程详解

    解释器引擎最终执行op的函数是zend_execute,实际上zend_execute是一个函数指针,在引擎初始化的时候zend_execute默认指向了execute,这个execute定义在zend_vm_execute.h:ZEND_API void execute(zend_op_...

2010-07-08 16:49:00

阅读数 9277

评论数 2

PHP多线程版本HASH漏洞攻击工具

漏洞相关信息: http://www.laruence.com/2011/12/30/2435.html      系统要求:linux操作系统,PHP版本5及以上cli模式,多进程模式需要pctnl扩展支持。     使用方式:  下载附件并解压,例如解压到 /usr/local/kal...

2011-12-31 19:24:42

阅读数 3891

评论数 0

KalonQue文档

1.关于KalonQue     KalonQue一款完全基于PHP语言开发的队列软件产品。 队列(Queue)又称先进先出表(First In First Out),即先进入队列的元素,先从队列中取出。加入元素的一头叫“队头”,取出元素的一头叫“队尾”。 通过KalonQue可以将复杂的业...

2011-07-15 17:23:50

阅读数 3110

评论数 0

KalonDaemon - 守护进程PHP版

声明:这篇文章是我09年的时候发表在自己的之前的BLOG上的,属于原创内容,现在将文章转移到这里。守护进程也称精灵进程(daemon),是生存期较长的一种进程。它们常常用在系统自举时启动,仅在系统关闭时才终止。因为它们没有控制终端,所以说它们是在后台运行的。UNIX类操作系统有很多的守护进程,它们...

2011-06-01 12:41:00

阅读数 5722

评论数 1

神秘的变量名特性

    在PHP语言中,变量都是保存在哈希表中,称为变量符号表,其中变量名为哈希表的键,变量名对应的容器zval的指针为哈希表中的值。所有全局变量放在一张主符号表中(也就是数组$GLOBALS对应的哈希表)。PHP语言有个特性,变量在命名时,$变量标识符后不能以数字开头。例如我们在以下代码:$11...

2010-07-20 16:32:00

阅读数 3940

评论数 1

PHP新的垃圾回收机制:Zend GC详解

    在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放,是依据这个变量的zval的refcount是否为0,如果refcount为0,那么变量的空间可以被释放,否则就不释放,这是一种非常简单的GC实现。然而在这种...

2010-07-14 16:14:00

阅读数 19770

评论数 18

变量的内部存储:引用和计数

    在引擎内部,一个PHP的变量是保存在“zval”结构中,此结构包含了变量的类型和值信息,这个在之前的文章  PHP变量如何实现弱类型特性 中已经介绍了,此结构还有另外两个字段信息,一个是"is_ref"(此字段在5.3.2版本中是is_ref__gc),此字段是一个布尔...

2010-07-13 21:17:00

阅读数 6823

评论数 5

OPcode简介

    运行一段PHP代码主要有两个阶段:编译和执行, 当然编译过程中还包括词法分析语法分析不同阶段和细节,这里我们将其作为一个整体。在这两个阶段之间,PHP代码会被编译成op code,可以将其认为是引擎的一个中间语言,编辑阶段把PHP源码生成op code,然后在执行阶段执行这些op code...

2010-07-08 15:28:00

阅读数 6441

评论数 0

源码分析必备:用vld查看opcode信息

 VLD(Vulcan Logic Dumper)的简介如下:The Vulcan Logic Dumper hooks into the Zend Engine and dumps all the opcodes (execution units) of a script. It can be ...

2010-07-07 14:32:00

阅读数 8849

评论数 2

变量的内部存储:值和类型

    PHP是一种弱类型的脚本语言,弱类型不表示PHP的变量没有类型区分,PHP变量有8种原始类型:四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也作“double”) string(字符串) 两种复合类型: array(数组) object(对象) 两种...

2010-07-07 11:16:00

阅读数 4798

评论数 1

PHP解释器引擎执行流程

    这里将介绍引擎内部执行一段PHP代码的流程,以cli SAPI为例子来对流程中核心的部分做简单介绍,省去一些初始化及清理操作。    cli(Command Line Interface)即PHP的命令行模式,现在此SAPI是默认安装的,我们在服务器上安装完PHP之后,一般会生成一个可执行...

2010-07-06 16:06:00

阅读数 17064

评论数 2

PHP代码如何被执行?

    众所周知,计算机(具体是CPU)只能执行二进制的机器码,每种CPU都有对应的汇编语言,汇编语言编译器将汇编语言翻译成二进制的机器语言,然后CPU开始执行这些机器码。汇编语言作为机器语言与程序设计者之间的一个层,给我们带来了很多方便,程序员不需要用晦涩的01数字来书写程序,当然人们并不满足这...

2010-07-05 18:15:00

阅读数 15069

评论数 7

提示
确定要删除当前文章?
取消 删除
关闭
关闭