- 博客(27)
- 收藏
- 关注
转载 apache开启gzip
如果要开启gzip的话,一定要打开下面二个模块.编辑 /etc/httpd.conf (Linux),开启这两个模块(如果没开启的话)LoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.so设置压缩比率,取值范围在 1(最低) 到 9(最高
2012-01-04 23:11:26
393
转载 GDB中应该知道的几个调试方法
七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:
2012-01-03 09:15:03
385
转载 vim超能力
现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。在当前行上移动光标: 0 ^$f F t T , ;0 → 到行头^ → 到本行的第一个非blank字符$ → 到行尾g_ → 到本行最后一个不是blank字符的位置。fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。 这个还不错t, → 到逗号前的第一个字符。逗号可以变成其它字
2012-01-01 12:27:24
539
原创 hash冲突导致ddos,详细跟踪
1 2$size = 4; 3$array = array(); 4for ($key = 0, $maxKey = ($size - 1) * $size; $key 5 $array[$key] = 0; 6 }通过打印p *execute_data->opline->handler可以获得 ZEND_INIT_ARRAY_SPEC_UNU
2011-12-31 13:41:59
1189
转载 PHP数组的Hash冲突实例
你知道不知道, 插入65536个经过构造的键值的元素到PHP数组, 会需要耗时30秒以上? 而一般的这个过程仅仅需要0.1秒..请看如下的例子: $size = pow(2, 16); $startTime = microtime(true); $array = array(); for ($key = 0, $maxKey
2011-12-30 16:53:18
493
原创 详解类的静态成员变量
首先说下静态变量和全局变量的区别,全局变量可以被所有函数访问,如果多个独立的函数使用了同名的变量,就会导致冲突,在只有一个函数需要访问某个变量时,我们应该优先使用静态变量,而不是全局变量类中的静态成员,它属于整个类而不是属于类的某个实例,静态成员只保留一个变量值,而这个变量值对所有的实例都是有效的,所有的实例共享这个成员。$this表示类的当前实例,Self::表示的是类本身 在类之外的代
2011-12-30 15:01:25
744
原创 gdb方式遍历EG(symbol_table) 哈希表的key
Sara Golemon写过一篇文章,里面提到:“是否存在特别的地方可以找到GLOBALS数组?”答案是“存在”,就是EG(symbol_table)-Executor Globals结构,她也给出了找的具体实例,如下PHP_FUNCTION(confirm_getGlobal_compiled) { char *varname; int varname_len;
2011-12-07 18:05:40
1852
原创 http_globals全局变量初始化(待续)
参考鸟哥的文章:http://www.laruence.com/2008/04/04/17.html主要在php_request_startup函数中问题:在代码什么位置放入PG(http_globals)的,流程是怎样的1 PG(http_globals)[i] = NULL;//将除了TRACK_VARS_REQUEST以外的初始化为null2 PG(reg
2011-12-02 17:26:12
1478
原创 php源码函数汇总(持续更新)
hash相关的函数或者宏1 HASH_OF(p)(暂时只考虑array) Z_ARRVAL_P(p) => Z_ARRVAL(*p) => (zval).value.ht 获取zval中的hash指针HashTable *ht2 zend_hash_internal_pointer_reset(h) 初始化hashtable中的pInternalP
2011-12-02 12:32:20
700
转载 c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
一、指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。 格式: 类型说明符 * 函数名(参数) 当然了,由于返回的是一个地址,所以类型说明符一般都是int。 例如:int *GetDate(); int * aaa(int,int); 函数返回的
2011-11-23 10:22:05
657
原创 学习php源码
学习php源码,鞭策下自己第一个阶段主要是看 gdb较细跟踪源码 看鸟哥的blog 看tipi项目 看Zend_API:深入_PHP_内核 看PHP内核介绍及扩展开发指南 看Extending and Embedding PHP 补c语言基础
2011-11-16 17:41:35
442
转载 Independent的技术小经验
不错的东东,这个得mark收藏原文:http://keyvalue.net/2010/10/11/%E6%8A%80%E6%9C%AF%E5%B0%8F%E7%BB%8F%E9%AA%8C/Findfind ./ -type d -name “CVS” -exec rm -r {} \;find . -type f -perm 644 -group root -exec
2011-11-16 01:47:56
751
转载 PHP程序员如何突破成长瓶颈(php开发三到四年)
看了这篇博文,我正好处于这个阶段,也有心要突破自己,呵呵!作为Web开发中应用最广泛的语言之一,PHP有着大量的粉丝,那么你是一名优秀的程序员吗?在进行自我修炼的同时,你是否想过面对各种各样的问题,我该如何突破自身的瓶颈,以便更好的发展呢?PHP工程师面临成长瓶颈先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过。工作经验大概在3~4
2011-11-16 01:28:04
1132
原创 菜鸟看php内核源码第三章
很多地方还是看不懂,当个笔记记录下来,不对的地方大家直接指正通过sapi/cli/php_cli.c入口文件开始一步步分析1 _sapi_module_structa) nameb) pretty_namec) startup => (int (*)(struct_sapi_module_str
2011-11-16 01:19:05
3976
原创 菜鸟分析php源码 第二章
入口文件 1 sapi/cli/php_cli.c 619 main入口文件 784 调用php_cli_startup=> 调用php_module_startup 2 main/main.c
2011-11-14 18:06:59
1546
原创 zend debugger 远程调试(win 5.2和linux 5.3遇到的问题)
win下php 5.2配置apache添加配置[Zend]zend_extension_ts="D:\web\PHP\ext\ZendDebugger.dll"zend_debugger.allow_hosts=127.0.0.1/24,10.218.24.247/24,10.218.24.218/24zend_debugger.expose_remotely=alwa
2011-11-14 15:26:29
1445
转载 MySQL索引背后的数据结构及算法原理(b+树)
很好的文章,让我这个小菜鸟很深入的学习到了b+树的概念,以及为什么mysql要用b+树存储知道了InnoDB为什么不建议使用过长的字段作为主键知道了InnoDB不建议使用非单调的字段作为主键从原理上知道了MyISAM和INNODB的区别建议像我一样的菜鸟能仔细阅读摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQ
2011-11-14 11:55:27
3794
原创 php源码分析 (第一章)
环境lsb_release -aLSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarchDistributor ID: CentOSDescription: CentOS release
2011-11-13 23:09:35
1250
原创 腾讯微博开放平台发布者分享会(陈思齐)
记下几点提要1 140万2 3kw3 词4 明确了解平台能提供的资源5 用户玩游戏买的是关注力6 游戏平台最开始的定位最好是所有人7 fb上好友买卖最火的是非鲁宾8 平台发展需要由后台限制转为前台过滤9 开发的游戏和应用信任起见,最好在平台内(为什么Z在twitter不火的原因)10 平台需要设计回收机制11 朋友的头像永远不会是垃圾信息12 缺
2011-11-11 12:36:04
2707
原创 仿thinkphp框架
用了一段时间thinkphp,感觉还不错,其实每款框架都有自己的优点,本来想用他自建cms系统,但是感觉就是不爽,于是自己搭了个简单的小thinkphp框架base_path.php //global的一些东西base.ini //一些基本的配置classes //类库 外面无法访问到template //模版库 外面无法访问到application in
2011-04-07 17:07:00
674
转载 命名规范
1.类命名(1)使用camel命名法(这个几乎所有语言通用)(2)尽量少于3个词(3)缩写词也不要全部使用大写字母。eg:使用GetHtmlStatic, 而不使用GetHTMLStatic。2.函数和方法命名通常每个方法和函数都执行一个动作,所以对它们的命名应该清楚地说明它们的用途。eg:用CheckForErrors()代替ErrorCheck(),用DumpDataT
2010-06-10 15:22:00
666
原创 MVC
1 controller 相当于dispatch负责选择模型和对应的视图,用来配合完成一次请求的全过程2 model负责完成逻辑,组织数据3 view负责接收数据以及展示
2010-06-02 10:24:00
438
原创 setcookie中的expire
Expire的设置是一个unix的时间戳各地的unix时间戳的是相同的,时间戳根据不同的时区得到了不同的当前时间信息(也就是说各地的时间不同并不代表时间戳不同)统一的时间戳,才使expire的设置具有了意义,才使服务器与客户端具有一定的可比性网站中还存在两种情况 不设置expire 直接设置expire为0 实验:(ie6)1 设置time(
2009-11-04 11:21:00
6564
转载 php编码之mb_detect_encoding
当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF-8,或者UTF-8和GBK(这里主要是对于cp936的判断),网上说是由于字符短是,mb_detect_encoding会出现误判。例如: $encode = mb_detect_encoding($keytitle, array(
2009-01-12 16:40:00
7444
原创 vim命令总结
<!--@font-face {font-family:宋体}@font-face {font-family:"/@宋体"}p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideo
2008-09-22 14:23:00
648
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人