msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

11 Nov 08 图解aclocal、autoconf、automake、autoheader、configure

原文地址:http://hi.baidu.com/yzkuang/blog/item/557e4f24423d8136c9955908.html

15 Aug 08 PHP 源代码分析 V0.0.2

做为我以后乱写的一个指导方针。呵呵
PHP 源代码分析目录

1. 第一章 构建系统 准备工具、库及需要具备的基础知识;
2. 如何编译不同平台的版本?编译时的各个选项是什么含义?
3. 如何创建一个 PHP 扩展/模块?如何创建一个 Zend 扩展?
4. 如何调试 PHP?如何调试 PHP/Zend 扩展?

1. 第二章 PHP 与 SAPI 的生命周期 脚本的运行周期
2. 模块/脚本的起始与终止函数; …

14 Aug 08 实现PHP的编译执行分离(separating compilation and execution)

刚刚在PHP群内和大家聊天,应承了大家要写一个关于如何实现PHP源码加密的文章, 借着这会QA在冒烟的机会,就这个问题,我写点思路….

12 Aug 08 深入理解Zend SAPIs(Zend SAPI Internals)

SAPI: Server abstraction API,研究过PHP架构的同学应该知道这个东东的重要性,它提供了一个接口,使得PHP可以和其他应用进行交互数据。 本文不会详细介绍PHP的每个SAPI,只是针对最简单的CGI SAPI,来说明SAPI的机制…

18 Apr 08 C++判断本机的字节序的方法

作者: Laruence( ) 本文地址: http://www.laruence.com/2008/04/18/104.html 转载请注明出处   1. bool isBigEnding()…{     int i = 1;     return ((char)i) == 1; } 2. bool isBigEnding()…{     union …{        int i;        char c;    }x=…{1};    return x.c == 1; } 3. bool isBigEnding…{    union …{       int i ;       struct …{           unsigned short int b : 8;       }bit;    }x=…{1};    return x.bit.b == 1; }

16 Apr 08 编写提供对象给PHP使用的Module

还是那个关于开发安全签名的PHP模块, 今天将它包装成一个PHP的CLASS,也同样,网上的资料少之甚少,于是我想将经验写一篇,关于如何在Extension Module中创建一个可以被PHP访问的对象的文章。 和大家分享。

09 Apr 08 使用C++编写Apache的模块 — 命令表,保存配置信息

还是和论文相关,要编写一个Apache的模块,挂在post read_request阶段,在第一时间,判断一个链接是否是而已连接请求,并在第一时间拒绝恶意连接请求。
首先遇到的第一个问题,就是需要从http.conf中读取配置信息,提供俩个配置指令,MaxNumber, TimeRange.指定在一段时间内的连接次数上限。
编写的时候,遇到的第一个问题就是,moudule申明,不能通过编译,编译器提示重复定义。查了N遍手边的apache源码分析,也没有找到原因,如: ……..

04 Apr 08 由signal想到的

signal(int sig, void(*func)(int))是信号注册函数。它可以定制对于特定的信号(sig)的处理函数。
昨天偶然看到他的申明式的时候,把我搞的有点糊涂
#include
void(*signal(int signo, void(*func)(int)))(int);
仔细理解了半天,终于搞清楚了它的定义式,也解开了我长期以来的一个误区:
1. void(*func)(int):
定义了一个函数指针,他的类型是,指向一个返回是void,参数的int的函数类型的指针,就好像 int i, 定义了一个可以存储int型的变量的i。
2. 由上,signal的定义可以如下解释。
signal(int signo, void(*func)(int));
定义了,signal函数接受俩个参数一个是int signo,一个是一个回调的函数指针。
void(* signal(….))(int);
定义了,signal的返回类型是一个函数指针,指向一个返回空的,接受一个整形参数(信号值)的函数;
这么解释,就好多了,再看看简化的定义式,就更明白了(Plauger 1992):
typedef void sigfunc(int);
sigfunc *signal(int, sigfunc *);
由此,我结合fork进行了一番试验, 来验证,子进程是否继承父进程的信号处理函数……

04 Apr 08 在PHP Module中获取$_GET/$_POST/$_COOKIE的方法研究

  最近在做一个PHP的安全模块,其中要在Module的函数中获取用户的Cookie,从而生成签名;今天找遍Baidu/Google,一点相关资料都 没有,不得已,只好给yahoo PHP dev mail list发了求救信。后来,偶然在Google上看到了一个变量 http_globals ,眼前一亮,虽然没有详细资料,但经过一顿试,N次Segmentation fault以后,终于成功!

Pages:  1 2