PHP - require_once:无法打开流:没有这样的文件或目录

时间:2010-12-18 17:17:13

标签: php require-once

我似乎无法在php中打开此文件:

我的文件夹结构如下:

/home/www/site/user/index.php

/home/www/site/lib/login.inc.php

我正在尝试在用户index.php文件中打开login.inc.php:

if (!defined('SITE_ROOT') || !defined('USER_ROOT') )
{
    define('SITE_ROOT', '../');
    define('USER_ROOT', './');
}

require_once SITE_ROOT . 'lib/login.inc.php';

但这会导致无法打开流错误。

1 个答案:

答案 0 :(得分:-1)

require_once解析与工作目录相关的目录。当Web服务器执行PHP脚本以响应HTTP请求时,工作目录是该PHP脚本的目录。当该PHP脚本包含一些其他PHP脚本时,另一个PHP脚本仍将原始目录设置为工作目录。

这意味着它与包含文件相对于包含文件的位置无关。为了弥补这一点,您可以在include-statement中使用绝对路径。在/home/www/site/user/index.php中,执行

require_once dirname(__FILE__) . '/../lib/login.inc.php'