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 |
cos-html-cache 2.01的好处就不多说了,大家自己看生活点滴的解说。自从有了它,世界变得好美丽,生命力充满了奇迹。我可以放心大胆地在日志页面加入动态函数,比如说最新日志,tag云,等等。为迎接wordpress 2.3和清源绿里改版打好基础。
另外:godaddy服务器不能用cos-html-cache 2.01是另外的问题。它执行了所有的php,但都只得到404找不到日志的结果。苦思冥想,搞不定。美国工程师的回复也比较草率,简单的说了句虚拟空间无法适用。
实在不行就把fallgingko的清源绿里meta到21percent上来,彻底合并两者。世界,清静了。
恩,终于能用2.01了
对与生成全部的404的话,我以前也出现过一次,主要是BUG造成的,把所有页面对于的生成的静态文件删除,然后在重新建立一次就好了.
我的不行,删除n次了。不中用。
[To #582 comment]