争取每天都记一篇日志!^_^(那只是个传说……)
Dec
19
最近在PHP官网下载新版,发现For Windows的版本一共有四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe。 琢磨了一下,在这里分享一下经验。不对的地方有望大家斧正。
一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。
二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
从字面上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。
二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
从字面上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
Nov
3
话说有一次诸葛亮,刘备,孙权,曹操四人同乘飞机,突然遇到紧急情况,需要跳伞逃生。这时候才发现机上只剩下三个降落伞包。大家一阵紧张,这时只见诸葛亮摇摇羽毛扇、清清嗓子说:“这样吧,山人出几道题,能答上来的,就跳伞,答不上来的只好自己跳下去了。”其他人没办法只好同意。
诸葛亮再摇了摇羽毛扇问刘备:“天上有几个太阳?”刘备一想简单,回答:“一个 。”于是拿了个伞包下去了。诸葛亮再问孙权:“天上有几个月亮?”孙权回答:“一个。”他也拿了个伞包下去了。最后轮到曹操。诸葛亮问:“天上有几个星星?”曹操一怔,懵了得回答不上来,只好自己跳下去了。没想到竟然跳在了海里,捡回一条命,曹操暗自庆幸。
第二次又四个人坐飞机遇到紧急情况,四人一商量,得,还是老办法吧。诸葛亮又摇 起羽毛扇问刘备:“当年周武王战败纣王的那场战役是?”刘备一想简单,回答:“牧野之战。”诸葛亮点点头,于是刘备拿了个伞包下去了。诸葛亮再问孙权:“那场战役死了多少人?”孙权想了想说:“大概有三四万。”诸葛亮点点头,孙权拿了个伞包也下去了。曹操不禁偷笑想:“诸葛亮呀诸葛亮,本人可是贯古通今,尤其是军事,这次你可是栽了。” 只见诸葛亮问:“战士们都叫什么名字?”曹操一听差点没晕过去,只好自己跳下去了,没想到竟然又跳在了海里,捡回一条命,曹操暗自笑。
第三次同样四个人坐飞机,飞机又遇到紧急情况,曹操一想,诸葛老儿又要整我,干脆我自己跳下去算了,免受侮辱。于是一横心,跳了下去,在空中高速下降中,只听得上面诸葛亮对他喊:“孟德,今天飞机上有四个降落伞!”
诸葛亮再摇了摇羽毛扇问刘备:“天上有几个太阳?”刘备一想简单,回答:“一个 。”于是拿了个伞包下去了。诸葛亮再问孙权:“天上有几个月亮?”孙权回答:“一个。”他也拿了个伞包下去了。最后轮到曹操。诸葛亮问:“天上有几个星星?”曹操一怔,懵了得回答不上来,只好自己跳下去了。没想到竟然跳在了海里,捡回一条命,曹操暗自庆幸。
第二次又四个人坐飞机遇到紧急情况,四人一商量,得,还是老办法吧。诸葛亮又摇 起羽毛扇问刘备:“当年周武王战败纣王的那场战役是?”刘备一想简单,回答:“牧野之战。”诸葛亮点点头,于是刘备拿了个伞包下去了。诸葛亮再问孙权:“那场战役死了多少人?”孙权想了想说:“大概有三四万。”诸葛亮点点头,孙权拿了个伞包也下去了。曹操不禁偷笑想:“诸葛亮呀诸葛亮,本人可是贯古通今,尤其是军事,这次你可是栽了。” 只见诸葛亮问:“战士们都叫什么名字?”曹操一听差点没晕过去,只好自己跳下去了,没想到竟然又跳在了海里,捡回一条命,曹操暗自笑。
第三次同样四个人坐飞机,飞机又遇到紧急情况,曹操一想,诸葛老儿又要整我,干脆我自己跳下去算了,免受侮辱。于是一横心,跳了下去,在空中高速下降中,只听得上面诸葛亮对他喊:“孟德,今天飞机上有四个降落伞!”
Jul
16
今天是2009年7月16日。么爷走了。。。
一个双目失明善良的老人,一世与人为善,替人排忧。。。
能做点啥呢?
日以继夜的忙碌,就是希望身边的人过的好点。
本来打算月底回去看望他,却已不能如愿了。
一路走好!
一个双目失明善良的老人,一世与人为善,替人排忧。。。
能做点啥呢?
日以继夜的忙碌,就是希望身边的人过的好点。
本来打算月底回去看望他,却已不能如愿了。
一路走好!
Apr
6
echo 5*0.2*7; // results 7
echo ceil (5*0.2*7); // results 7
echo ceil (5*(0.2*7)); // results 8
以上结果的不同,原因为精度问题:
输出结果:
7.00000000000000088817841970012523233890533447265625...
6.99999999999999911182158029987476766109466552734375...
感谢秀一的提点。
echo ceil (5*0.2*7); // results 7
echo ceil (5*(0.2*7)); // results 8
以上结果的不同,原因为精度问题:
echo number_format(7*0.2*5, 100);
echo number_format(5*7*0.2, 100);
echo number_format(5*7*0.2, 100);
输出结果:
7.00000000000000088817841970012523233890533447265625...
6.99999999999999911182158029987476766109466552734375...
感谢秀一的提点。
Mar
12
很多企业因为前面生产环境没有架构好。导致后面URL重新布局。对于现有搜索引擎来说必然是个弊端。
还好,Google等多数搜索引擎公司支持301永久重定向这个标准。
不过在国内占70%搜索份额的百度确对301支持不好,带有浓烈的“中国特色”。
以Old_url 301 到 New_url 为例。
用php脚本写了一个301,各大搜索引擎以及订阅客户端都能正常识别。在web serer的日志上能看到状态 Old_url 301,New_url 200。即跳转成功。而百度的蜘蛛只能到Old_url 301,后面没有200的完成状态。过些时候就发现Old_url 的状态变为 301 64,即传说中的不可用标记。
那么这样分析出对于web server后端的程序写的301跳转,百度的spider是无法辨认的。这样我在web server上直接加了301规则,在不读取程序之前就直接301跳转。这回看日志终于显示了spider读取New_url 200的成功状态。同时Old_url标记为 301 64。
最后得出的结论是百度的spider是可以正确读取web server上的301规则。
为万无一失,大家在最开始的时候就得规划好url。若后期不得不做301时,还是在web server的前端(如isapi_rewrite)或直接使用server自带的正则来实现,用后端程序来实现的话,BD spider有可能无法正确识别。
还好,Google等多数搜索引擎公司支持301永久重定向这个标准。
不过在国内占70%搜索份额的百度确对301支持不好,带有浓烈的“中国特色”。
以Old_url 301 到 New_url 为例。
用php脚本写了一个301,各大搜索引擎以及订阅客户端都能正常识别。在web serer的日志上能看到状态 Old_url 301,New_url 200。即跳转成功。而百度的蜘蛛只能到Old_url 301,后面没有200的完成状态。过些时候就发现Old_url 的状态变为 301 64,即传说中的不可用标记。
那么这样分析出对于web server后端的程序写的301跳转,百度的spider是无法辨认的。这样我在web server上直接加了301规则,在不读取程序之前就直接301跳转。这回看日志终于显示了spider读取New_url 200的成功状态。同时Old_url标记为 301 64。
最后得出的结论是百度的spider是可以正确读取web server上的301规则。
为万无一失,大家在最开始的时候就得规划好url。若后期不得不做301时,还是在web server的前端(如isapi_rewrite)或直接使用server自带的正则来实现,用后端程序来实现的话,BD spider有可能无法正确识别。
Mar
11
[code]for /r blue\. %i in (*.*) do echo d | xcopy "%i" php[/code]
遍历blue目录将此目录下所有子目录下的所有文件全部复制到php目录。
遍历blue目录将此目录下所有子目录下的所有文件全部复制到php目录。






