好奇yaf是如何在启动时加载各个类的,于是看了下源码。
1.yaf.c
PHP_MINIT_FUNCTION(yaf)
{
/* startup components */
YAF_STARTUP(application);
YAF_STARTUP(bootstrap);
}
YAF_STARTUP(application) 展开后是
zm_startup_yaf_application(type, module_number )
2.yaf_application.c
YAF_STARTUP_FUNCTION(application)
{

[……]

继续阅读


我们知道php数组是hashtabe实现的,值是放在bucket里的。有没有人和我一样好奇如何在gdb里找出值的老家在哪里呢?

$cofing = array();
$config['name'] = "XiaoLi";

在gdb下查看
(gdb) p *config->value->ht->pListHead
$5 = {h = 7335516698733026337, nKeyLength = 21, pData = 0x7ffff7fc4248, pDataPtr = 0x7ffff7fc53e0, pListNext = 0x0, pListLast = 0x0, pN[......]

继续阅读

vim config

输入以下内容


#!/bin/bash
editor="vim"
case "$1" in
httpd)
echo -n "open httpd.conf "
$editor /usr/local/apache/conf/httpd.conf
;;

vhost)
$editor /usr/local/apache/conf/extra/httpd-vhosts.conf
;;

php)
$editor /opt/webserver/php-5.5.17/etc/php.ini
;;

php-fpm)
$editor[......]

继续阅读

提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大改动。以下是正文。

花了数小时阅读了如潮的好评,Bob最终迫不及待为他购买的托斯卡纳全脂牛奶点击了“进行结算”,然后……

哇!刚刚发生了什么?

在点击按钮过后的220毫秒时间内,发生了一系列有趣的事情,火狐浏览器(Firefox)不仅改变了地址栏颜色,而且在浏览器的右下角出现了一个 小锁头的标志。在我最喜欢的互联网工具Wireshark的帮助下,我们可以通过一个经过略微调整的用于debug的火狐浏览器来探究这一过程。

根据RFC 2818标准(译者注:RFC 2818为HTT[……]

继续阅读

[root@centos extundelete-0.2.4]# make
make -s all-recursive
Making all in src
extundelete.cc:571:18: 警告:未使用的参数‘flags’ [-Wunused-parameter]
static errcode_t ext2fs_read_dir_block3(ext2_filsys fs, blk64_t block, void *buf, int flags) {
^
extundelete.cc: 在函数‘ext2_ino_t find_inode(ext2_filsys, ext[……]

继续阅读

一般会增加
LoadModule rewrite_module modules/mod_rewrite.so
但写个 (.*)rewrite 到www.baidu.com发现没有成功
开启rewirte日志
在apache(2.2版本)的配置文件中增加
RewriteLog “/myfolder/mylogfile.log” RewriteLogLevel 9
apache版本2.4及以上
LogLevel alert rewrite:trace3
其中,记录等于由trace1~trace8,数值越大,记录的信息越多。你将能够在你的 apache配置的error[……]

继续阅读

SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议(HTTP)使用 SSL 来实现安全的通信。

在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身 份。SSL 协议的版本 1 和 2 只提供服务器认证。版本 3 添加了客户端认证,此认证同时需要客户端和服务器的数字证书。

SSL 握手

SSL 连接总是由客户端启动的。在SSL 会话开[……]

继续阅读

  ★ 先说一个通俗的例子

考虑到证书体系的相关知识比较枯燥、晦涩。俺先拿一个通俗的例子来说事儿。

◇ 普通的介绍信

想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有人都不认识他,他咋办捏?常用的办法是带公司开的一张介绍信,在信中说:兹有张三先生前往贵公司办理业务,请给予接洽……云云。然后在信上敲上A公司的公章。

张三先生到了 B 公司后,把介绍信递给 B 公司的前台李四小姐。李小姐一看介绍信上有 A 公司的公章,而且 A 公司是经常和 B 公司有业务往来的,这位李小姐就相信张先生不是歹人了。

说到这[……]

继续阅读

原文:http://www.phppan.com/tag/refcount/

每门计算机语言都需要一些容器来保存变量数据。在一些语言当中,变量都有特定的类型,如字符串,数组,对象等等。比如C和Pascal就属于这种。 而PHP则没有这样的类型。在PHP中,一个变量在某一行是字符串,可能到下一行就变成了数字。变量可以经常在不同的类型间轻易的转化,甚至是自动的转 换。PHP之所以成为一个简单并且强大的语言,很大一部分的原因是它拥有弱类型的变量。但是有些时候这也会带来一些有趣的问题。

在PHP内部,变量是存储在一个叫做zval的容器中。它不仅仅包含变量的值,也包含变量的类型。Python[……]

继续阅读