日期:2014-05-17  浏览次数:20538 次

这是为什么?
PHP code

function delDir($dir)
    {
        
        $arr=getcTime($dir);
        asort($arr);
        //$arr=array('文件名称'=>'创建时间');
                //getDirSize($dir) 是根据文件夹目录获取文件夹大小的函数
        foreach($arr as $key=>$value){
            $size=getDirSize($dir);
            if($size>2048){
                    unlink($key);
            
            }else{ 
                break;
            }
        }
    }



在win下是OK的。但是放到linux下就会出现如下错误。
Warning: unlink(/usr/local/lamp/test/2.text) [function.unlink]: Permission denied in /usr/local/lamp/apache2/htdocs/test.php on line 112
在网上查了一下,有的说是权限问题,可是test文件夹的权限我设置成了777了啊、、、
大家帮帮忙,看下什么原因呢?真心蛋疼。。。


------解决方案--------------------
unlink 前用 is_writable 核实一下权限

PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件。
------解决方案--------------------
探讨

引用:

你是要删除网站以外的文件吗?

不是的,这只是个测试的文件,目的是想删除日志log文件。

------解决方案--------------------
探讨

引用:

引用:

引用:

標準答案

割了

2.text的權限不對.給apache 運行帳號 對這個文件可寫可讀可xx...


apache运行的账号是root。权限是-rwxrwxrwx root root
我确定一定以及肯定……


...apache 運行的帳號是root??有這麼蛋痛的……