导航

APACHE缓存目录权限

Posted on 2012-11-30 15:33  eastson  阅读(385)  评论(0编辑  收藏  举报

PHP开发时有时候会用到缓存文件,也就是会碰到往服务器写文件的情况。

新增一个分离的缓存目录,一般都用cache命名。
cache目录需要授权网页浏览者能够写入,一般这样处理:chmod 0777 cache。

授权后cache目录应该是可以新建文件的,但是新建的文件对应的owner=daemon,group=daemon,所有者是daemon是由httpd.conf配置决定的。

这个时候服务器上的其它的使用是无法修改此文件的,最好在文件写入成功后再调用PHP的chmod()函数修改权限。

function write_cache($name, $data)
{
    global $_CACHE;
    
    $str = "<?php\r\n";
    $str .= "\$_CACHE['" . $name . "'] = " . var_export($data, TRUE) . ";\r\n";
    $str .= "?>";

    $file = APPLICATION_PATH . 'cache/cache_' . $name . '.php';
    writetofile($file, $str);
    chmod($file, 0777);
    
    $_CACHE[$name] = $data;
}