香港独立IP空间
香港php空间
美国php空间
域名注册

在大量文章、评论以及插件的数据的情况下wordpress速度的确不敢恭维,这个不是无忧主机的速度问题,而是一旦数量多了就会像抽风一样,那么怎么提高我们的数独呢,之前无忧主机小编曾经介绍过一款非常实用wordpress插件:WP Super Cache,该插件对wordpress有着非常明显的加速优化效果,该插件的Mod_rewrite加速模式加速效果非常好,因为这种模式是直接将网站的页面生成静态的html页面,然后使用Mod_rewrite将请求转发到静态文件,这样就跳过了php解析这一步直接将页面吐出到浏览器,从而达到加速的效果。今天无忧主机小编就教大家不使用插件来静态化缓存wordpress。
1、首先我们需要完成这样的操作,那肯定需要花大量的时间去写这个代码的,其实要实现这样的缓存文件的操作代码并不是很难,我们可以借鉴其他程序的缓存文件的代码,而无忧主机小编的这个代码呢,是借鉴一个OA办公系统的代码,那段代码虽然是Java的缓存的代码,但是思想都是差不多,于此,无忧主机小编就在我们服务器上进行调试,终于数分钟之后完全调试成功,接下来就分享这段代码吧!代码如下:
<?php
define(‘CACHE_ROOT’, dirname(__FILE__).’/cache’);
define(‘CACHE_LIFE’, 86400);
define(‘CACHE_SUFFIX’,’.html’);
$cache_dir = CACHE_ROOT.’/’.substr($file_name,0,2);
$cache_file = $cache_dir.’/’.$file_name;
if($_SERVER[‘REQUEST_METHOD’]==’GET’){
if(file_exists($cache_file) && time() – filemtime($cache_file) < CACHE_LIFE){
$fp = fopen($cache_file,’rb’);
fpassthru($fp);
fclose($fp);
exit();
}
elseif(!file_exists($cache_dir)){
if(!file_exists(CACHE_ROOT)){
mkdir(CACHE_ROOT,0777);
chmod(CACHE_ROOT,0777);
}
mkdir($cache_dir,0777);
chmod($cache_dir,0777);
}
function auto_cache($contents){
global $cache_file;
$fp = fopen($cache_file,’wb’);
fwrite($fp,$contents);
fclose($fp);
chmod($cache_file,0777);
clean_old_cache();
return $contents;
}
function clean_old_cache(){
chdir(CACHE_ROOT);
foreach (glob(“*/*”.CACHE_SUFFIX) as $file){
if(time()-filemtime($file)>CACHE_LIFE){
unlink($file);
}
}
}
ob_start(‘auto_cache’);
}
else{
if(file_exists($cache_file)){
unlink($cache_file);
}
}
?>
2、把以上代码保存cache.php文件中,上传到网站的根目录,无忧主机的根目录:domains–域名文件夹–public_html。然后在新建一个cache文件夹,权限为777的权限,这个文件夹是写入缓存使用的。
3、然后在根目录下的index.php中加入以下代码:
require(‘cache.php’);
注意:一定要保证缓存目录的可写性,一定要加到文件的最上方,不然等页面完全加载完了才吐出缓存页面那就等于没缓存一样。

这样我们就完成了对wordpress在使用插件的情况下使用静态缓存文件功能。
谢谢站长朋友们的支持与厚爱!

本文地址:http://www.51php.com/wordpress/15623.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档