21

我在“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]:在 C:\wamp\www\mysite\php 中打开所需的 '../includes/dbconn.inc' (include_path='.;C:\php5\pear') 失败第 3 行的 \classes\eventManager.php

错误在哪里?

谢谢卢卡

4

5 回答 5

20

该错误几乎解释了问题所在:您试图包含一个不存在的文件。

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

require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));
于 2011-02-25T11:05:21.767 回答
18

您将需要链接到与包含eventManager.php(Page A)的文件相关的文件,将

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


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

于 2011-02-25T11:03:27.993 回答
7

这也可以

 require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');
于 2014-09-08T06:37:56.660 回答
1

它说该文件C:\wamp\www\mysite\php\includes\dbconn.inc不存在,因此错误是,您丢失了该文件。

于 2011-02-25T11:03:27.620 回答
1

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

这也有帮助。见set_include_path()

于 2016-03-21T02:15:29.363 回答