lilina最新版本安装的问题

lilina也很久没更新了,最新的稳定版本是几年前的0.7,1.0遥遥无期,不过我还是下了个每日构建版,有问题大不了自己改。装上之后果然不能用,添加feeds之后,首页一直没有任何显示,一步一步找问题,最后发现是lilina使用的simplepie这个开源的RSS解析器的问题。 打开文件: lilina/inc/contrib/simplepie/simplepie.inc,在1508行,使用了一个字符串“&”来测试php自带的xml解析器是否能正常工作;可惜我的php 5.2.9版本就是不能正常工作,于是就一路返回得不到任何结果。解决方法很简单,在内容中随便添加什么个字母数字就行了。

linux shell统计网站日志的独立ip数

统计日志中独立ip数,用awk很容易搞定: awk '{ip[$1]+=1} END{for(i in ip) {print i," " ip[i]}}' access.log|wc -l 其中ip为awk中的数组,$1作为数组下标,相同ip就累计到同一个元素中,很简单吧。 如果想统计访问成功的ip数,就在前面过滤一下即可: awk '{if ($10==200) print $1}' access.log|awk '{ip[$1]+=1} END{for(i in ip) {print i," " ip[i]}}'|wc -l

用LVS实现网站在线升级

LVS是类似F5的软件负载均衡器,国人主导的一个开源项目,很不错的东西。具体可以参考:http://www.linuxvirtualserver.org/. 通过LVS,可以将网络访问请求分布到后端的N台服务器,然后由后端的服务器直接将IP包返回给客户端;由于HTTP协议的请求消息长度远小于响应消息,所以用LVS做网站的负载均衡是一个极佳的解决方案。 如果将LVS配置为持久服务时,来自同一IP的请求将被定向到同一台服务器,其失效时间通常不会太小;如果想让一台服务器退出集群,而客户端又源源不断发来请求,则会导致该服务器一直有ESTABLISH状态的socket连接;通过这个命令,可以让服务器立刻退出集群,不再接受新的请求。

Javascript sleep函数的模拟实现

做firefox的开心网插件碰到个问题,想在偷菜时候sleep几秒,模拟人工操作,免得被服务器认为是外挂。但是javascript没有sleep这个函数,需要手工模拟实现。 在网上找了一下,基本有以下两种方案: 1. 循环判断时间,满足条件则跳出循环
function   sleep(n){
    var start=new Date().getTime();
    while(true)   
        if(new Date().getTime()-start>n)   
            break;
}

xen虚拟机domU启动时卡住问题

domU启动时卡住有很多种情况导致,其中一种就是img文件中定义的文件系统找不到,那么系统在启动时就会卡在下面的地方: USB Universal Host Controller Interface driver v2.3 usbcore: registered new driver hiddev usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.6:USB HID core driver 把映像文件mount上之后,mount方法请参考:<如何mount可启动的硬盘映像文件>, 编辑/etc/fstab文件,把其中多余的分区删除即可。

某些版本的nokia手机访问lighttpd返回400错误

这两天碰到一个问题,一些手机浏览某些图片无法显示,而pc,其他手机上都能正常显示;lighttpd确实收到了这些手机的下载请求,但是返回了400 Bad request错误,错误日志也没有记录什么异常。 上网搜了半天,搜“lighttpd wap”没有任何结果,只好换成“lighttpd mobile”,这下看到一个nokia的字样,兴奋,打开果然和我们碰到的问题一样:http://redmine.lighttpd.net/issues/1351. 诺基亚手机某些型号(6680)在浏览wap页面时,发送的header如下: Accept: text/html, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/css, multipart/mixed, text/vnd.wap.wml, application/vnd.wap.wmlc, application/vnd.wap.wmlscriptc, application/java-archive, application/java, application/x-java-archive, text/vnd.sun.j2me.app-descriptor, application/vnd.met.ticket, application/x-wallet-appl.user-data-provision, application/vnd.oma.drm.message, application/vnd.oma.drm.content, application/vnd.wap.mms-message, application/vnd.wap.sic, text/x-co-desc, application/vnd.oma.dd+xml, application/x-javascript, text/ecmascript, */*, text/x-vcard, text/x-vcalendar, image/gif, image/vnd.wap.wbmp Accept-Charset: iso-8859-1, utf-8, iso-10646-ucs-2; q=0.6 Accept-Encoding: gzip,deflate,identity;q=0.9 Accept-Language: zh-cn, zh Content-length: 0 Via: WTP/1.1 GDSZ-PS-GW002-WAP03.gd.chinamobile.com (Nokia WAP Gateway 4.1 CD1/ECD13_D/4.1.04) X-Forwarded-For: 10.230.30.174, 211.139.151.10 ......

十分钟开发一个firefox插件(二)--自动登录开心网

(firefox extention 的中文翻译比较混乱,按字面意义应该为扩展,但大家都习惯称为插件;而firefox存在另外一个名为plugin的东西,例如,java plugin、flash plugin;所以叫插件也不妥;但是,为了便于理解,这系列的文章里都把extention称为插件。) 上文我们从wizard上获得了一个插件代码压缩包,这个包的扩展名即使改为xpi,也无法安装到firefox中。用另外一种安装方法可以搞定,这种方法也适合插件的修改调试使用。 1. 将压缩包解压,例如:C:\work\kaixin 2. 找到firefox的插件安装目录,一般为C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\i32uquuo.default\extensions 3. 在该目录下建立一个文件,命名为插件开发者的email地址,例如: [email protected](这个名字要与在向导中填写的email相同) 4. 将这个文件的内容改为 C:\work\kaixin\ (注意,必须要有最后一个"\") 5. 重启firefox,就能从 "工具->附加组件" 中看到新增加的插件了;

seo过度优化的后果

“php curl用法” 这个关键词的排名在6月份是7,还能在第一页显示: [caption id="attachment_269" align="alignnone" width="300" caption="php curl"]php curl[/caption]

linux shell脚本字符串操作的一些总结(二)

接上篇《linux shell脚本字符串操作的一些总结》

  1. 截取字符串

<pre class=php name=code>date|cut -c5 //取第五个字符 date|cut -c5-10 //取第五~十个字符 date|cut -c-5 //取前五个字符 date|cut -c5- //取第五个以后的字符</pre>

十分钟开发一个firefox插件(一)

首先安装一个扩展开发工具(先右击另存),如果直接安装会提示“"Extension Developer" 将不会被安装,因为它未提供安全更新”,需要修改一下。 [caption id="attachment_247" align="alignnone" width="300" caption="extention dev"]extention dev[/caption] firefox扩展打包文件的扩展名为xpi,其实是个zip包,将扩展名改为zip,解压。修改install.rdf,删除下面这行: http://ted.mielczarek.org/code/mozilla/extensiondev/extensiondev.rdf 保存,重新压缩成extensiondev.zip,改为extensiondev.xpi,将文件拖到firefox的窗口中,就可以安装上了。 intextdev 如果提示“安装脚本未找到 -204”,有可能是zip包的压缩格式不对,可以直接修改zip包,而不是解压后再压缩。