我收到此错误
[28-Jan-2011 09:49:03] PHP Warning: require_once(../../includes/database.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/photo/application/php/classes/users.php on line 2
[28-Jan-2011 09:49:03] PHP致命错误:require_once()[function.require]:无法打开所需的'../../includes/database.php'(include_path =':第2行/Applications/MAMP/htdocs/photo/application/php/classes/users.php中的/Applications/MAMP/bin/php5.3/lib/php')
我想要包含的文件是
/Applications/MAMP/htdocs/photo/application/includes/database.php
我确定文件在那里,我检查过,双重检查,三重检查 这是users.php中的第2行
require_once '../../includes/database.php';
可能是什么问题
答案 0 :(得分:2)
在主文件中尝试此操作(例如index.php)
define('BASEPATH', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
然后
require_once(BASEPATH.'../../includes/database.php');
使用完整路径总是一个好主意。
ps:这是一个例子,路径可能是错误的。
答案 1 :(得分:0)
默认包含路径是相对于调用文件(.
是路径)。
示例目录结构:
index.php
foo.php
bar.php
/assets/foo.php
/bar.php
如果您的index.php
来电
include 'assets/foo.php';
和one/foo.php
来电
include 'bar.php';
它等同于index.php
调用
include 'assets/bar.php';
如果您希望所有包含来自相同的上下文,则需要使用根相对路径(@yoda有一个很好的例子)。