Loading...

新的静态化插件遇到的问题

2007-07-07 12:57:40 发表于Wordpress, 网站技术 本文链接: 新的静态化插件遇到的问题

趁着将新的shopex下载到笔记上的时间,赶快写下下面的文字,最近实在太忙了。

在利用读取输出缓冲区重写静态化插件遇到了以下的问题:

  1. php版本的问题,不同的php版本在处理register_shutdown函数的时候对缓存区的处理不一样,主要体现在4.0之前和之后,现在的php版本绝大数都在4.0之后,因此这个问题不算什么大问题;
  2. 另外一个问题是,如果当前用户是blog作者,那么留言本显示的将不会有用户信息输入框,这个时候的缓冲区输出的结果将是作者当前的状态,如果这个时候作者回复留言或者发表文章,写出来的缓存的评论的地方将显示的是作者的登录的状态。如果要解决这个问题:1.写缓存之间将作者的登录会话强制删除,如果这样做,作者没做一个动作就被强制退出了登录。2.修改comments.php文件,而大多数人不愿意这样做。

所以目前的解决办法是:1.寻求其他的方案防止comments记录用户状态;不改写当前cos-html-cache的办法,而且用其他方法来提高效率,目前我已经发现了一个比较优秀的库,可以更快的获取url内容。

目前的cos-html-cache影响效率的原因已经找到,注意这里的效率仅仅是后台建立html的效率,对于访客不存在效率的影响,从BH的cpu higload的记录里面可以看出来主要是数据库的查询,我代码里面存在mysql嵌套查询,并且在查询的过程中还进行了socksopen的操作从而导致mysql等待而消耗CPU。

改进方案:

  1. mysql单独查询,将变量保存在内存中;
  2. 取消mysql的嵌套查询;
  3. 利用成熟的class来获取html文件,取消目前的http socks open

所以目前两个选择,缓存区方式和改进方式,等有空了再做选择,稳定之后发布的版本将是2.0,另外一个数据库缓存的插件也在考虑中,基于强大的PEAR库,这个插件是给那些不想真正生成html文件而又想加快速度的朋友准备的。

该日志未加标签
发表于 2007-07-07 12:57:40 目录:Wordpress, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • feed url
    下一篇: 谈谈程序的效率 »
    已经有7位大师动手指导 拒绝低俗
    • 1楼 Sah 在2007.07.07 13:25发表评论如下: 回复

      希望加上直接按分类创建目录生成html的功能,现在我主要是通过sCategory Permalink这个插件实现的

      • 2楼 Sah 在2007.07.07 13:27发表评论如下: 回复

        还有,你的AJAX comment不是很好用,每次发表评论都是圈圈一直转,却显示不出结果,还需要在刷新的(实际上评论已经成功了)

        • 3楼 cosβ 在2007.07.07 13:35发表评论如下: 回复

          是的,有的时候有这个问题,ajax timeout导致

          • 4楼 Cloudream 在2007.07.07 14:54发表评论如下: 回复

            嗯,按分类生成静态文件绝对要顶,嘿嘿,还有最好可以用插件直接删除缓存,不用通过FTP :)

            http://www.concertogate.com.cn 这个是我把WP当作CMS来用的站点,刚刚发布,来看下吧 :)

            • 5楼 cosβ 在2007.07.07 14:55发表评论如下: 回复

              我以前也是作成了cms,http://www.storyday.com/htmlbak/y2007/m02/372-dell-back-at-the-top-at-dell.html

              • 6楼 george 在2008.02.11 16:15发表评论如下: 回复

                我的生成静态的时候,但是搜索一开始出了点问题,是虚拟主机设置成html为默认主页导致的,按照网上一大哥的方法修改了一下search.php里面的action的链接,直接链接到index.php,删掉旧的页面,就ok了。

                另外我想问cosbate,怎么实现文章的链接是以xxxxx.html的方式显示而不是以xxx/显示呢?

              评论分页: 1
              (Required)
              (Required, not published)
              如果留言未显示无需重复留言,我将为你恢复!