PHP发送header头404信息

其实很简单,直接上代码再解释。 更多 »

Windows2003计划任务实现服务器自动重启

最近服务器刚刚更换了一块新硬盘,同时也将PHP升级了一下,然后不知道什么原因(因为这两个维护导致的或是其他的)IIS运行PHP的站点每隔一阵就会无法访问,而静态页面的站点是可以访问的,最为奇怪的是,貌似每次发生这样的故障的间隔期间基本是差不多的,尝试检查了一下,没发现什么意外情况,连系统的日志以及IIS自身的日志都没有什么异常记录。同时也是比较懒得详细检查,所以干脆直接搞了定时重启服务器。

这绝对是一个非常非常非常懒惰的行为,可确实是没什么更好的办法了,如果有朋友能知道这是怎么个原因的话不妨告诉一下,千恩万谢!!! 更多 »

IIS的一个优化策略

Win系统以IIS做web服务是首选,在Windows2003以后的IIS可以对每个站点设置不同的“应用程序池”,这样的好处是当某个站点当掉的时候不至于影响其他站点。

更多 »

PHP的Snoopy.class.php

使用PHP读取HTTP页面基本使用Snoopy,使用简单方便易用。

最近在使用过程中发现一些问题,读取某些服务器的时候会发现获取不到页面内容。

留意Snoopy的Header请求头的时候发现,对于HOST请求是类似
HOST: hostname:port
看代码,只要端口存在,就使用该方式发送请求。

但观察浏览器请求时发现如果端口为80的时候,会省略掉端口号。

按这个方式改造一下Snoopy的代码,加入判断端口号,如果端口号为80的情况下,则直接使用
HOST: hostname
否则使用
HOST: hostname:port

这样改写代码后上面的问题就解决了。

问题的原因不太清楚,呵呵,对于HTTP协议始终就是模棱两可一知半解,实用至上主义,问题解决就不管了。

另外,还有一个问题就是,自官方下载到的Snoopy.class.php的编码问题,这个文件使用的是“阿拉伯语(Windows)”进行编码的,至少在这个编码下查看没有乱码。
为了方便日后改写代码,我是利用阿拉伯语(Windows)打开,然后Copy无乱码的代码另存为UTF-8编码,方便日后更改处理。

使用fastcgi_finish_request提高页面响应速度

当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法.

听起来可能有些茫然,我们通过几个例子来说明一下:

<?php
echo '例子:';
fastcgi_finish_request(); /* 响应完成, 关闭连接 */
/* 记录日志 */
file_put_contents('log.txt', '生存还是毁灭,这是个问题.');
?>

通过浏览器访问此脚本, 结果发现并没有输出相应的字符串,但却生成了相应的文件.由此说明在调用fastcgi_finish_request后,客户端响应就已经结束,但与此同时服务端脚本却继续运行!
更多 »

Chrome 11 使用新的 user agent 字符串

  如果网站想要了解他们的读者使用的什么浏览器,最简单的办法就是检测读者浏览器客户端的user agent(用户代理,也称 UA string)了,在使用浏览器打开网页的时候,客户端都会发送这个包含浏览器版本和操作系统的字串,让读者所访问的网站能够掌握读者的一些最基本的资 料。Google Chrome 当然也有这个字串,如目前 Chrome 10 正式版的 user agent 就是下面这样的,其他之前的版本的格式也基本类似,只是版本号不同罢了。

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16

Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16

更多 »

域名转移注册商操作完毕

2010年7月22日申请了eXinQing.net的域名转移注册商(http://www.deepseath.com/?p=731)

当日已经顺利进行确认信确认。

直到7月26日中午,突然发现域名DNS无法解析,询问后得知只能是等待,这状况一直持续到7月28日早上8点左右,发现域名已经完全转移完毕,且可以在新的注册商处进行管理。

只是仍旧无法进行DNS设置解析。联系客服后终于在11点的时候可以进行修改了。

经过设置后,根据网友的报告,大概在12点半左右国内已经陆续可以正常解析访问了。

通过本次域名转移注册商得到几个经验就是:

1.注册域名最好选择一些知名的有品牌的注册商,要考虑到日后维护、缴费、迁移等等问题的方便性以及代价(比如,我这个域名就交给之前注册商500元的手续费,TMD)

2.做域名迁移前一定要做好预案,万一无法解析的时候应该通过一些手段来避免用户无法访问。因为有时候域名迁移DNS会中断的,当然如果幸运其实整个过程DNS都是可以正常解析的。

原本其实还有备用域名的,可惜早先没想过这样的问题,只是将备用域名做了一个永久转向。

现在看来,得想个方式在未来能够尽量避免这样的问题。

始终对于多域名访问有一个困惑:

我想实现一种方式,平时只用一个域名访问(当然也包括这个域名的二级域名),其他域名只是转向。如果万一这个域名无法解析的时候,只要通过一些轻微(记住是轻微)的更改就可以轻易的切换到两个域名同时可以访问的状态。

自己琢磨了几个方案发现都不行:(原因是因为,几个栏目之间的应用其实还有一些内部通讯,如果要更换域名的代价太大了,操作非常多——特别是栏目和应用特别多的情况下。

不知道大家都有什么好办法?给个建议哦~~

又见《黑猫警长》

刚刚看新闻的时候发现一篇关于电影版《黑猫警长》的,原来经典的动画片《黑猫警长》要拍成电影啦,哈哈。想法真好呀,很怀念小时候看的黑猫警长已经看黑猫警长时的日子……

期待之余其实也有点害怕,电影版可千万别糟蹋了经典哦~~

不过,看到几张海报,效果应该不错,黑猫警长大大的眼睛,还有一只耳的狼狈相,还有那些可爱的警长手下小灰猫们^_^

据说是4月份左右会上映,真的有一些期待,并且期望效果不会令人失望……

还有哦,据说一只耳的配音是“唐老鸭”李扬,哈哈,估计效果应该不错^_^

看海报喽~~

HTTP协议的那些事儿

什么是http连接?一张页面加载过程中,又是图片又是样式、脚本,对于这些东西的请求,是共用一个连接还是多个连接?
网上有人说,为了节省连接数,应该尽量将外部CSS,js合并,或者内联;甚至图片也合成一张,再用CSS定位。显然,在这里,一个请求就用一个连接,请求完成连接即被关掉。
但IIS里,有选项“保持HTTP连接”,且有超时时间可供设置。如果每请求一样东西,就开启一个连接,并且这个连接迟迟不死,保持激活,那么要多少连接才够用?这里的意思,应该是一个连接可以供多次使用。

更多 »

Deepseath Modified from Green Hope Theme · Proudly powered by WordPress · 津ICP备09005418号  津公网安备 12010302001005号