标签为 php 的存档

上网多年,是否看到过数据库错误,导致网站无法访问的情况?我在想在没有数据库哥们的支持的情况下,如何让您的Apache兄弟继续为来访用户服务?(包含但不仅限于Wordpress)
本来是更新一下db-error.php的,却想到了更好的解决方案,就来分享一下如何对应这种情况:
当WordPress连接数据失败的情况下,会调用wp-content/db-error.php这个文件来作为页面提示。也就是说数据库挂掉界面可以在这里定义。我之前的方案是报错后5秒后自动转向到我的feed烧录地址feed.cbmland.com,因为我觉得这里或许能有用户需要的内容,也不至于网站打不开而尴尬至极。
而当数据挂掉的时候,能否尽量还原之前的页面信息呢?答案很简单,前提是有对应的快照(cache)存在,那么就是需要有套机制能创建快照,以供不 时之需,而已知ob_get_flush()函数是可以将当前PHP输出内容全部拿到的,那么快照内容生成就不成问题了。剩下的就是通过IO来写入快照文 件了。供需要时读取还原之前页面。
阅读全文(831字)

今天和一位网友交流cacheAsFile的使用,从中得知他的网站空间为了实现三个各不相同的网站,已放置三个Wordpress系统来实现。
操作实现是在网站的根目录下放置一个Wordpress系统,再建立子目录来放置其他的Wordpress系统。可真难为了这位朋友。
这个其实是很简单而且很实在的方法,但是维护成本确是很高的,而且目录结构也不怎么不雅观。
这种模式看来有点像传统的面向过程编程,复用性太低,那么面向对象编程(OOP)怎么来处理好这个需求呢?
阅读全文(886字)

前面有写过一篇如何Gzip压缩CSS和JS文件的优化WordPress心得(1),现在又有时间整理优化心得了。
Cache Function As File(缓存函数结果到文件)这句话是学的Flash AS程序中的cacheAsBitmap ,在Wordpress中主要是缓存一个函数的返回结果到一个文件,供下次使用。然而有这个必要吗?
我使用到的站点地图插件Dagon Design Sitemap Generator,每次访问都会查询整个数据库,然后根据一定算法做字符串拼接处理,这样来生成出看到的成站点地图的html代码,但随着文章的增多,现在仅站点地图生成的html字节大小已达120K。
同样,通常在主题上存在的档列表,标签云,分类列表,友情链接这样的列表,而这些类容通常更新频率并不高,而默认情况下是每次访问都需要查询数据库再进行字符串拼接来动态生成。数据库、服务器每次都需要进行重复的运算。这样网页打开的速度慢了,服务器的负荷也上去了,性能的瓶颈产生了。
阅读全文(1350字)

提前完成手上的事情,来总结一下前不久给自己小站优化心得。
gzip压缩功能在wordpress 2.3时代已经使用得普及了,好处很明显,而且99%的浏览器都支持以gzip模式压缩的网页。压缩率也非常的高,可达60%~90%,对于优化网页下载速度是非常见效的。(但是2.5版本开始没有这项功能了,如何手动开启?)
但是,由于是压缩就会耗费服务器的CPU资源,所以在CPU使用高的时期,Gzip压缩模式下的网页访问速度可能比没有压缩的网页还要慢。
这个就是所谓的时间换空间的概念了。我想,要是能解决了每次访问都要CPU来压缩的问题,直接从压缩文件来输出那就可以弥补这一矛盾的问题了。
阅读全文(826字)

WordPress向垃圾评论say good bye

每天总能收到很多垃圾评论,发表评论的IP是国外的。帖的网址也是国外的。但他也能从文章的标题上取一段中文加在评论里面。不得不怀疑是机器人在干坏事。原理估计是抓取评论表单,然后填充垃圾在表单中提交。
虽然有Akismet 的协助。但不能从根本上解决垃圾评论的来源。而且开启了Akismet 后感觉发表论论时有很大的延时。我现在已经禁用Akismet 了。
于是开始了与垃圾评论做斗争。。
现在的解决方案是提交表单改用Flash来提交。去掉页面上的评论表单,或者伪造一个错误的表单。让机器人去抓取表单吧。。
阅读全文(328字)

清理掉584077条日志记录

需要清理日志记录了。眼下就快60万条记录了。由于Mysql的longText类型字段不能做索引,使得查询时很费时间。找到9月6号开始的id号584077,

把之前的记录清理了。留下做个纪念。
此贴为水贴~测试效果~

上次写过一个优化Arctic’s Internal Alexa Redirect的文章。
现在发现有个bug,在点击多次时会使href地址多次相加,造成转向错误。
现已经修正此问题。arctic_alexaredirect_12_cbm.zip
PS:实践证明,这个插件确实有效。

针对PHP开发者Adobe PHP RIA SDK

Adobe针对PHP开发者放出针对Flex快速开发工具打包,其中包含AMFPHP,Weborb for PHP和Adobe Flex-Ajax Bridge,其中的范例可以帮助PHP开发者更好的使用PHP开发Flex的后台。
有用PHP开发后台可以试试。
Adobe PHP RIA SDK

关于Arctic’s Internal Alexa Redirect ,这个是不错的点子,将自己站点的链接重定向到http://redirect.alexa.com/redirect?http://cbmland.com/ ,然后等待http://redirect.alexa.com转回自己的站点链接。这样可以完成一次流量统计。(统计效果有待观察)
具体说明见http://hellobmw.com/archives/version-11-of-arctics-internal-alexa-redirect.html
看上去不错,我尝试着安装了这个插件。
研究了一下代码,发现在本站的链接A标签上都加了一句onclick=”parent.location.href=’http://redirect.alexa.com/redirect?http://cbmland.com/’;event.returnValue=false”,由这里来实现重定向到alexa.com。
阅读全文(1468字)

更新你的php手册

不用多说,做php开发必备的参考文档。8.12更新了。
chm版本的17.8M,较之前的版本加入了最新的用户注释。多一份参考。
去UGiA_CN下载