2008年3月30日星期日

WordPress 2.5发布,宽屏显示异常

  今天WordPress 2.5终于发布了,比起WordPress 2.3来说,这个版本的变化是比较大的,据WordPress官方介绍,新的版本开发了185天(6个月零3天),修改了364个文件,增加了54008处,删除了29136处,总共修改点超过了1300处。

  目前很多主机已经提供了自动升级WordPress的功能,例如我使用的DreamHost已经可以在One-Click Installs中升级了,点一下就可以将当前版本的WordPress升级到2.5版本,升级后,登陆WordPress还要提示更新数据库,更新完数据库后,就可以看到一个全新的WordPress 2.5的界面了。

  新的界面有一个很大的BUG,就是几乎所有的界面,都是针对1024X768设计的,针对1440X900的宽屏显示器,会只显示左边部分,使用操作起来特别的别扭,看起来还不如老版本WordPress舒服,看来WordPress的开发者没有使用宽屏液晶显示器,否则也不会出现这么明显的BUG啊。希望WordPress能快出一个补丁,然宽屏显示器的用户也能看着舒服一些。

  新的WordPress 2.5英文版本在这里下载:http://wordpress.org/download/

WordPress 2.5发布,宽屏显示异常

通用PHP动态生成静态HTML网页的代码

  最近研究PHP的一些开发技术,发现PHP有很多ASP所没有的优秀功能,可以完成一些以前无法完成的功能,例如动态生成HTML静态页面,以减少服务器CPU的负载,提高用户访问的速度。

  我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问。我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷。

  首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似:

RewriteRule ^post/([a-z0-9-]+.html)$  wp-post.php?$1$2

  然后修改wp-post.php文件,在文件的开头加入以下PHP代码:

ob_start();
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
define("HTML_FILE",  $_SERVER['DOCUMENT_ROOT']."/post/".$qstring);

if (file_exists(HTML_FILE))
{
 $lcft = filemtime(HTML_FILE);
 if (($lcft + 3600) > time())  //判断上次生成HTML文件是否超过1小时,若没有才直接输出文件内容
 {
  echo(file_get_contents(HTML_FILE));
  exit(0);
 }
}

  之后是现有的PHP的代码,然后在当前代码的最后面加上如下的PHP代码:

define("HTMLMETA","<!-- this is a real static html file created at ".date("Y-m-d H:i:s")." -->");
$buffer = ob_get_flush();
$fp = fopen(HTML_FILE, "w");
if ($fp)
{
 fwrite($fp, $buffer.HTMLMETA);
 fclose($fp);
}

  好了,然后查看你的静态HTML页面,如果页面尾部出现了注释行,说明已经成功的创建了静态HTML文件。

  这个方法的一个应用就是我先前写的那个“WordPress年度博客统计插件”,这个统计插件由于查询十多次数据库,很多人访问的时候会有很大性能问题,使用我介绍的这种动态生成HTML技术后,一天就查询一次,生成一次统计排行,完美解决了查询数据库的性能问题。

2008年3月29日星期六

从IIS的ASP迁移到APACHE的PHP的方法

  目前在网站服务器软件市场中,开放源码的Apache服务器占据了60%的市场份额,而微软免费捆绑在操作系统当中的IIS排名第二,其市场份额为31%,从总体上看,目前的网站服务器软件市场已经被Apache和IIS瓜分。

  一般从性能上通常都认同Apache的性能优于IIS,虽然IIS的操作管理界面非常简单易用,但是从IIS平台迁移到Apache平台依然是大势所趋,今天我就介绍几种从IIS的ASP转换到Apache的PHP的方法。

  通过插件模拟运行ASP

  通过一些公司的产品,直接让IIS的ASP代码正常运行于Apache环境,目前主要的产品有:

  Apache::ASP  http://www.apache-asp.org/

  SUN ONE ASP  http://www.sun.com/software/chilisoft/

  iASP http://www.instantasp.co.uk/

  通过程序转换ASP到PHP

  ASP和PHP都是很易用的网页脚本语言,目前有一些第三方程序可以将ASP转换到PHP,例如免费的asp2php。

  asp2php 是一个把 ASP 转成 PHP 的转换程序,类似的转换程序还有Chilisoft、InstantASP 与 Free ASP,目前 asp2php 可以转换大部分的ASP程序,不过,转换过程中有一些Bug,需要手动进行源代码的调整。

  使用Windows环境调用COM

  如果使用Windows + Apache的环境,那么数据库可以依旧使用Access或SQL Server数据库,使用PHP创建ADODB的COM组件后可以直接使用其命令,调用方法和ASP中的完全一样,示例代码如下:

$conn=new com("adodb.connection");
$conn->open("driver=microsoft access driver (*.mdb);dbq=member.mdb");
$rs=$conn->execute("select * from tablename");
while(! $rs->eof) {
  $f = $rs->Fields("username");
  echo $f->value;
  $rs->MoveNext();
}
$rs->close();
$conn->execute("update tablename set username='williamlong' ");

2008年3月28日星期五

GoDaddy无法从中国访问

  Godaddy是世界上最大的域名注册商和顶尖的主机服务商,也是ICANN(互联网名称与数字地址分配机构)的顶级域名代理服务商,提供的域名产品价格相当低廉,目前注册一个COM域名,在国内的万网需要每年139元人民币,而在GoDaddy的价格为9.99美元(70元人民币),仅为国内价格的一半,而使用优惠码的话域名价格更只要6.95美元(49元),仅为万网的三分之一,为了节约域名注册费用,相信不少中国网民都在使用GoDaddy的域名服务,包括我在内,我一直都建议不要在国内注册域名,而现在,中国电信竟然将这个服务给屏蔽了。

  通过使用Tracert命令追踪路由,我们发现访问GoDaddy被202.97.33.126这个路由器阻止了。

GoDaddy已经无法从中国访问

  通过查询这个IP地址,我们发现这个路由器是电信骨干网的路由器,因此这个屏蔽行为无疑是电信所为。

中国电信骨干路由器

  众所周知,GoDaddy是个正规的域名注册商,没有提供违反中国法律的服务,中国电信没有权利禁止用户使用这个价格低廉的域名服务,虽然中国电信一直都有封锁国外优秀网站服务的传统,但这次干的也太邪门了吧,竟然开始屏蔽世界上最大的域名注册商,相信中国电信一定会给我们这些广大的网民一个合理的解释。

  根据读者的反馈,无法管理自己域名的,可以通过 https://mya.godaddy.com 这个地址救急。

  更新:3月28日,GoDaddy恢复正常。

  背景简介:Godaddy成立于1997年,是全球域名注册排名第一的服务商,全球市场占有率达18%。域名的附加服务很多,有blog,Email,email指向,停放页,出售页面等。而且GoDaddy的域名可以很方便的修改注册人信息(过户),将域名转移给其他会员。GoDaddy的域名注册价格也较为低廉,使用优惠码购买COM域名只有6.95美金,算上税钱也才7.15美金,折合人民币50块钱左右。

2008年3月27日星期四

百度Hi抢鲜体验和邀请发送

  百度Hi是百度推出的IM工具,和百度空间以及百度搜索具有一定的整合和集成,是一个具有一定特色的聊天工具,目前百度Hi正处于内测阶段,用户通过邀请可以使用。今天通过邀请我简单使用测试了一下百度的这个聊天工具,有一些初步的感受。

  一、界面精炼

  界面、配色和微软的MSN很像,但整体界面非常简练,无广告,类似GTalk的精练风格,这个值得赞扬。

界面精炼

  界面上可以直接进入自己的百度空间,和MSN类似。

  可以换肤,目前有两个皮肤。

  二、好友管理

  好友可以用多种形式显示。好友可以自定义头像。

好友管理

  好友可以分组。可以加入群。

  三、百度群

  允许用户加入一个群。这点比MSN要强。

百度群

  邀请30个用户即可创建一个群。(这招厉害啊)

  创建群要登记个人信息和手机号码,下面是建立群时候出现的界面。(实名制?)

创建群

  四、设置和管理

  系统设置的界面可以设置一些个人信息。

系统设置

  消息管理器和腾讯QQ的界面好相像啊。

消息管理器

  五、登陆机制

  可以通过百度帐号登录,登录后也可以设置通过电子邮件登陆百度Hi。

  目前百度Hi需要邀请才能使用,如果你需要一个百度Hi的邀请,请先注册百度帐号,然后将你的百度帐号发邮件到我的信箱 williamlone+baidu@gmail.com 即可获得邀请,登录百度查看个人消息可看到邀请链接。

2008年3月26日星期三

谷歌Google.CN新界面

  今天发现Google正在测试中文版的新界面,类似韩国的动画效果,显得比较生动。这个新界面并非在所有浏览器下都显示,也并非所有的地区都显示,估计还是一个测试阶段的版本,正式的版本应该会有更不错的体验。

  新的界面对于不同浏览器会有一些区别,我使用IE7打开Google.CN就看不到新界面,而使用IE6和FireFox 2.0就可以看到新的动画界面。不过是使用IE6在福建的一台服务器上访问Google.CN却没有看到新的效果,估计这个界面还对区域进行了一些判断。

  新的界面看上去感觉不错,对中国的新用户来说有点吸引力,不过对于经常搜索的用户来说,未必会对这几个小图标感兴趣。

谷歌Google.CN新界面

2008年3月25日星期二

AdSense屏蔽腾讯QQ币广告的技巧

  发现最近我的博客上的QQ币骗人的广告越来越多了,我们知道,QQ币广告基本上全都是骗人的,投放这种虚假广告,不仅仅广告单价极低,而且上当受骗的网民还可能迁怒于我们,真不知道AdSense为什么允许这种骗子广告发布,对于这种广告的屏蔽,最佳的方法是AdSense提供广告关键字过滤的功能,可惜Google不提供,不过,我也找到一个特殊的方法,可以逐步将QQ币广告屏蔽。

  首先,在博客上写一篇和“腾讯QQ”有关的文章,类似我的“AdSense屏蔽腾讯QQ币广告的秘籍”,有意在这篇文章上增加一些和“腾讯”、“QQ”等相关的关键字。

  接着,在这篇文章上加入三个AdSense“文字广告”(不要用图片广告,因为图片广告看不到网址),由于Google AdSense的广告是匹配文章内容而投放的,因此这篇文章将显示很多和腾讯QQ相关的广告,当然,大多数广告是QQ币欺诈广告。

  然后,我们就可以手动收集这些广告的URL地址,然后将其域名提取出来(不要提取子域名),然后将这些提取的域名形成一个列表。

  下面的工作大家都应该清楚了,就是登录AdSense,选择“AdSense竞争性广告过滤器”,通过过滤器将这些域名屏蔽。

  等待十多个小时,再刷新这篇关于腾讯QQ的文章,看看是否还有QQ币广告出现,如果还出现,则重复上述操作,直到没有任何和QQ相关的广告为止。

  经过这些操作,基本上就可以将所有骗人的QQ币广告屏蔽了,目前我的月光博客上已经再也看不到前段时间那满屏乱飞的QQ币广告了。

  另外,我发现这些骗子广告大多数是使用.cn域名批量注册的,目前该死的cn域名免费发放,搞欺诈网站的可算抓住机会了,注册域名不需要成本了,可以放心大胆地SPAM搜索引擎和Google了,我建议Google Adsense能够提供批量屏蔽带关键字域名的功能,这样才能将这些垃圾欺诈网站全部消灭。

  补充:我屏蔽以上QQ广告的域名列表参见这里