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

时间:2011-02-25 11:01:18

标签: php dreamweaver require fatal-error

我在“PAGE A”中有测试代码

<?php
require_once('../mysite/php/classes/eventManager.php');
$x=new EventManager();
$y=$x->loadNumbers();
?>

“eventManager.php”包含在require_once:

<?php
require_once('../includes/dbconn.inc');
class EventManager {...}
?>

我的文件夹结构是:

mysite/php/classes folder and includes folder

如果我在浏览器中测试PAGE A,我会收到:

  

警告:require_once(../ includes / dbconn.inc)[function.require-once]:无法打开流:没有这样的文件或   在C:\ wamp \ www \ mysite \ php \ classes \ eventManager.php上的目录   3   

<小时/>   致命错误:require_once()[function.require]:无法打开所需的'../includes/dbconn.inc'(include_path ='。; C:\ php5 \ pear')in   第3行的C:\ wamp \ www \ mysite \ php \ classes \ eventManager.php

错误在哪里?

由于 卢卡

5 个答案:

答案 0 :(得分:16)

您需要链接到相对于包含eventManager.php(页面A)的文件的文件

更改您的代码
require_once('../includes/dbconn.inc');


require_once('../mysite/php/includes/dbconn.inc');

答案 1 :(得分:13)

错误几乎解释了问题所在:您正在尝试包含不存在的文件。

尝试使用realpath()对文件完整路径,并使用dirname(__FILE__)获取当前目录:

require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));

答案 2 :(得分:4)

这也适用

 require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');

答案 3 :(得分:1)

它说文件C:\wamp\www\mysite\php\includes\dbconn.inc不存在,所以错误是,你错过了文件。

答案 4 :(得分:1)

set_include_path(get_include_path() . $_SERVER["DOCUMENT_ROOT"] . "/mysite/php/includes/");

这也有帮助。见set_include_path()