php警告:警告:is_readable():open_basedir限制生效

时间:2017-03-10 07:18:38

标签: php

我在安装Omeka Library CMS时收到此PHP警告。我该如何解决这个问题?

  

警告:is_readable():open_basedir限制生效。   文件(/选择/ ALT / php56在/ usr /共享/梨//首页/ stmikti4 /的public_html / ELIB /安装/../应用程序/库/ Omeka /应用/资源/ layout.php中)   不在允许的路径内:   (/家/ stmikti4:/ usr / lib中/ PHP:在/ usr / PHP4 / lib中/ PHP:在/ usr / local / lib目录/ PHP:在/ usr /本地/ PHP4 / lib中/ PHP:/ tmp目录)   在   /home/stmikti4/public_html/elib/application/libraries/Zend/Loader.php   在第186行

1 个答案:

答案 0 :(得分:0)

要了解导致此问题的原因,您必须在第186行查看Zend_Loader类:

public static function isReadable($filename)
{
    if (is_readable($filename)) {  <-- this returns false, should return true.
        // Return early if the filename is readable without needing the
        // include_path
        return true;
    }
    .....
    foreach (self::explodeIncludePath() as $path) {
        .....
        $file = $path . '/' . $filename;
        if (is_readable($file)) {  <-- this here causes your error.
            return true;
        }
    }
    return false;
}

这是怎么回事:

  1. Zend Loader尝试加载“/home/stmikti4/public_html/elib/application/libraries/Omeka/Application/Resource/Layout.php”
  2. is_readable($ filename)由于某种原因返回false,请检查。很可能您的文件或包含它的任何文件夹都不能被系统上的Apache用户读取。
  3. 接下来它试图找到你的php包含路径中的文件,其中一个是“/ opt / alt / php56 / usr / share / pear /".
  4. 它会将文件名附加到您的包含路径并尝试查找该文件,但您的包含路径不在允许的路径范围内,并且会触发openbase dir限制,从而导致您的错误。
  5. 检查文件是否存在且Apache用户是否可以读取它,这可能会导致您的问题。