今天在微薄看到一个转帖, 题目触目惊心《PHP的echo为什么这么慢》,
点进去一看, 大意是说在PHP中echo一个500K的字符串, 会耗时几百ms,
然后作者说打开Apache的压缩以后呢, 速度就快了.
之后, 又看到一个同学, 从HTTP协议入手, 分析了chunked模式和直接传输模式, 意思可能是说, 和分段传输相关...
我在这里不是批评或者驳斥谁, 相关者莫要生气, 我只是害怕误导别人..
echo 一个500K的字符串, 速度慢, 这个和PHP没关系, 也和PHP的实现者C也没关系,, 关系在于IO, IO的速度限制了输出的速度,,
至于说Apache的压缩,,这个,,压缩了, 字符串变小了(字符串的压缩率很大), 自然也就快了(CPU换IO)....
最后, PHP真的很无辜, 和它真没关系..
很早就想写这么一篇文章了。我离开中国雅虎已经一年有余,在中国雅虎工作的那段时光是我最珍贵的回忆之一,和以前的同事吃饭聊天的时候也经常会怀念一下中国雅虎,怀念得多了,就觉得不如写篇文章好好回顾一下。很多事情虽然已经过去,但有些话不说出来,到底意难平。
转载说明 :我的紫色情结. --作者是我以前小组的同事
对于Apache来说, 如果URL和PATH_INFO中出现%2f(/)或者%5c(\), 会被认为这是个不合法的请求, Apache将会直接返回404结束.
对于使用mod_rewrite做URL改写的情况来说, 可能会比较容易遇到这个问题.
解决的办法有两种.
1. 进行俩次encode, /变为%252f 2. 在apache的配置中增加: AllowEncodedSlashes On
具体可以参看:http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes
快有一个月没有更新Blog了, 一来是最近项目比较紧张, 二来就是在忙着开发Yaf(Yet another Framework)
一直以来, 我研究PHP的内核, 虽然有文章不少, 但却鲜有一些借助这些研究成果而来的, 实际的东西, 也就无法让更多人学习到对Zend API的实际运用.
我思考了一段时间, 觉得有必要写一个扩展出来, 这个扩展要用到很多Zend API, 要用到很多在网上的PHP扩展开发中,鲜有叙及的部分(比如, 实现类/接口, 继承, 自动加载,等等), 让更多的PHP扩展开发者可以借鉴.
with 54 Comments首先说个题外话: Vim发布7.3了..
在翻看Vim插件的时候, 发现了一个比较有意思的应用(非插件): 把PHP的手册融如Vim中, 在Vim中, 按"K", 就可以跳转到光标下函数的手册说明...
有同学问了一个问题:
<?php
for($i = 'A'; $i <= 'Z'; $i++) {
echo $i;
}
输出是啥?
说个题外话: Blog现在支持订阅评论了, 同学们有提问以后等我回答的, 可以在留言提问的时候, 选择:Notify me of followup comments via e-mail
之前就有博友跟我说, 我的blog在IE6下页面乱了.
一直懒得弄, 今天有点时间, 打算调整下.
找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下... hack以后,,就好了:
pre {
border-left: 15px corlor solid;
_border-left:none; //可恶的IE6
}
每当这个时候, 我就会忠心的感谢发现这些css Hack的先驱们....
Be Lazy, 懒得能不动鼠标, 就不愿动鼠标..
今天在推上看到有人的下面缀着"via bash", 好奇怎么做到, 找来推的API, 其实挺简单..
直接上代码, 不解释了, 只是有几点解释下
1. 如果是VPN, 不用代理, 就取消-x选项 2. 脚本直接从STDIN读取内容,内容需要是UTF-8编码, 如果你的终端不是, 那请在脚本中添加iconv 3. 做到完全脚本浏览/发推也是可以的. 4. 新浪微薄也有REST API, 理论上也是可以这么搞的.with 11 Comments
在读别人代码的时候, 在没有详细文档的时候, 如何快速的看清整个代码的结构(类结构), 就成为了一个现实的问题.
今天我就介绍一种, 自动生成UML图的方法.
一直使用putty(pietty), 因为简单,小巧.
但是, 一直也羡慕SecureCRT支持sz/rs进行file transfer, 很简单,,,很方便... 而小Putty就只能借助ftp或者winscp了....
今天发现了一个基于Putty的改进版Le Putty(项目地址:http://sourceforge.net/projects/leputty/), 可以完美的支持ZModem进行file transfer.