清源绿里

cos-html-cache 2.01修正

在meyu服务器上用cos-html-cache 1.11正常,但2.01版则无法起效。具体表现在没能生成任何html文件。

经过分析,1.11和2.01的区别在于前者用fsockopen获取日志页面,而后者用ob_start读取缓冲区生成静态文件。根据meyu服务器的症状,可以很快判断出是cosbeta.php没有被执行。因为它里面有fopen命令,一旦执行无论内容为什么,至少会有新html文件生成。

继续读程序。可以看到

1
CreateHtmlFile($uri,$contents,$ABSPATH );

为静态化的命令。在它之前加入

1
echo $uri,$ABSPATH;

nothing,没有任何动作。但如果将该语句放到ob_start前面,则会得到当前页面的uri和wordpress在服务器上的绝对路径。

不知道是什么机理导致这样的问题,但至少谜面已经很清楚:ob_start将变量清空了。虽然我对php和服务器的知识还不足以立即解决谜底,不过我们可以绕过这个谜。

在meyu服务器上适用cos-html-cache 2.01的办法就是紧贴着

1
CreateHtmlFile($uri,$contents,$ABSPATH );

之前插入:

1
2
$ABSPATH = base64_decode( $_GET['ABSPATH']);//绝对路径
$uri = base64_decode( $_GET['uri']);//将生成缓存的URI

cos-html-cache 2.01的好处就不多说了,大家自己看生活点滴的解说。自从有了它,世界变得好美丽,生命力充满了奇迹。我可以放心大胆地在日志页面加入动态函数,比如说最新日志,tag云,等等。为迎接wordpress 2.3和清源绿里改版打好基础。

另外:godaddy服务器不能用cos-html-cache 2.01是另外的问题。它执行了所有的php,但都只得到404找不到日志的结果。苦思冥想,搞不定。美国工程师的回复也比较草率,简单的说了句虚拟空间无法适用。

实在不行就把fallgingko的清源绿里meta到21percent上来,彻底合并两者。世界,清静了。

文章评论

  1. 恩,终于能用2.01了

    对与生成全部的404的话,我以前也出现过一次,主要是BUG造成的,把所有页面对于的生成的静态文件删除,然后在重新建立一次就好了.

  2. 我的不行,删除n次了。不中用。
    [To #582 comment]

Leave a Comment