昨天xuepeng师兄提出一个问题是 $_SERVER['HTTP_HOST']为空, 经过我翻看RFC文档以及测试,得出结论如下:
在http 1.1中, host字段是不能为空的,如果为空, Apache会认为是400 bad request
但是在http 1.0中, host字段是可以为空的.具体看列子....
今天看了下我的blog读者分布图, 发现了一个有趣的现象:
从这个图中,我们就可以看出,国内那些地区的IT业比较发达,北京,上海,深圳,,,,
另外还有很多国外的朋友,不过,这个我比较纳闷,估计是外籍华人吧?
我前面的文章介绍了PHP变量的内部表示,但是,问题是,这些内部表示是如何和用户脚本中的变量联系起来的呢?也就是说,如果我在脚本中写下:
<?php $var = "laruence"; echo $var; ?>
ZE是如何把我的变量var和内部结构zval联系起来的呢?
with 19 Comments今天guoxiaod提出了一个问题,如下:
<?php class a extends b { }; class b extends c{ }; class c{ }; ?>
会导致fatal error:
PHP Fatal error: Class 'b' not found in /home/xinchen/1.php on line 2 Fatal error: Class 'b' not found in /home/xinchen/1.php on line 2
分析这个问题,是运行阶段出错,经过分析PHP的编译,执行过程,得出如下的parsing顺序...
with 13 Comments闲来无事,就系统的从PHP的词法分析,语法分析,opcodes生成,执行,整个流程,详细的分析了global关键字的实现。
with 14 Comments或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型。而PHP的核心ZE是用C编写的,大家都知道C是一个强类型语言,也就是说,在C中所有的变量在它被声明到最终销毁,都只能保存一种类型的数据。 那么PHP是如何在ZE的基础上实现弱类型的呢?且听我慢慢道来....
with 45 Comments今天遇到一个问题,需要查看一个函数是定义在哪个模块的, 从而去定位这个模块,翻看其源码。因为我们的环境还不容许使用Reflection APIS, 就直接写脚本了, 没什么大用,就是挺有意思的,;)
随着同 IIS 的竞争以及 Lighttpd 的崛起,关于 Apache 市场下滑的声音不绝于耳,但 Pingdom 的统计表明,Apache仍然主导全美100大网站,占据了49%的市场份额。在 Pingdom 检测的众多网站中,Web服务器的使用五花八门,出于好奇,我们决定统计一下什么Web服务器在全美100大网站中占主导地位。我们通过检查 HTTP 头获得这些信息,100大网站的依据为 Alexa.com。
with 3 Comments推荐一个小东郭写的Friefox扩展:Firefox DNS Cache v0.1,支持firefox到3.*
做IT开发的工程师,经常需要配置host来进行开发,而不方便的是,每次修改了hosts以后,都要重启浏览器来使hosts生效。 这个扩展就是为了解决这个问题而来的, 使用了它,你就不再需要重启浏览器了
with 6 Comments经常有人问我,听说在PHP中处理字符串用单引号会快,那么如果存在变量替换的时候,是使用单引号连接快呢,还是双引号快呢? 简单的回答,显然是苍白无力的。 今天我们来做个实验,看看到底单引号和双引号有什么区别,谁快,谁慢。
with 17 Comments