确认目录 uploads, cache, templates_c
在 /opt/xoops-2.0.14/htdocs/ 下存在,且可写

解决方案 »

  1.   

    uploads, cache, templates_c, 你这几个目录的位置放的不对,应该在
    HTTPD.CONF文件下设置了以下路径:
    Alias /web/ "/opt/xoops-2.0.14/htdocs/"
      

  2.   

    路径是对的。
    我写的PHP代码如下:testfile.php<?php
        $writeok = array("uploads/", "cache/", "templates_c/", "mainfile.php");
        $title = "test file php";
        $content = "<table align='center'><tr><td align='left'>\n";
        $error = false;
        foreach ($writeok as $wok) {
                echo "<br />"."../".$wok."<br />";
              echo fileowner("../".$wok)."<br />";
              echo filegroup("../".$wok)."<br />";
          echo fileowner("../".$wok)."<br />";
          echo substr(sprintf('%o', fileperms("../".$wok)), -4)."<br />";
              echo filetype("../".$wok)."<br />";
              
            if (!is_dir("../".$wok)) {          
                if ( file_exists("../".$wok) ) {
            @chgrp("../".$wok, fileowner("../".$wok));
                    @chmod("../".$wok, 0666);
                    if (is_writeable("../".$wok)==false) {
                        $content .= "file ".$wok." is not writeable"."<br />";
                        $error = true;
                       
                    }else{
                        $content .=  "file ".$wok."  is  writeable"."<br />";
                    }
                    if (!is_readable("../".$wok)) {
                        $content .= "file ".$wok."  is not readable"."<br />";
                        $error = true;
                       
                    }else{
                        $content .=  "file ".$wok."  is  readable"."<br />";
                    }
                    
                }
            } else {
          @chgrp("../".$wok, fileowner("../".$wok));
                @chmod("../".$wok, 0777);
                if (!is_writeable("../".$wok)) {
                    $content .=  "dir ".$wok." is not writeable"."<br />";
                    $error = true;
                    
                }else{
                    $content .=   "dir ".$wok."is writeable"."<br />";
                }
                if (!is_readable("../".$wok)) {
                    $content .= "dir ".$wok." is not readable"."<br />";
                    $error = true;
                       
                }else{
                        $content .=  "dir ".$wok." is  readable"."<br />";
                }            
            }
        }
        $content .= "</td></tr></table>\n";    if(! $error) {
            $content .= "<p>"."not error"."</p>";
            
            
        }else{
            $content .= "<p>"." error "."</p>";
            
        }    echo $content;    ?> 可是执行结果非常奇怪:../uploads/
    0
    0
    0
    0777
    dir../cache/
    0
    0
    0
    0777
    dir../templates_c/
    0
    0
    0
    0777
    dir../mainfile.php
    0
    0
    0
    0666
    file
    dir uploads/ is not writeable
    dir uploads/ is readable
    dir cache/ is not writeable
    dir cache/ is readable
    dir templates_c/ is not writeable
    dir templates_c/ is readable
    file mainfile.php is not writeable
    file mainfile.php is readable
     
    error  到底是什么原因?
      

  3.   

    首先你要确定一下你的操作系统,不同操作系统的保护权限是不一样的可以尝试一下输入 setenforce 0,然后重启mysql,apache