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

luc*_*uca 16 php dreamweaver require fatal-error

我在"PAGE A"中有这个测试代码:

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

"eventManager.php"里面有一个require_once:

<?php
require_once('../includes/dbconn.inc');
class EventManager {...}
?>
Run Code Online (Sandbox Code Playgroud)

我的文件夹结构是这样的:

mysite/php/classes folder and includes folder
Run Code Online (Sandbox Code Playgroud)

如果我在浏览器中测试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

错误在哪里?

谢谢卢卡

Mic*_*ter 16

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


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


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


Aro*_*eel 13

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

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

require_once(realpath(dirname(__FILE__) . '/../includes/dbconn.inc'));
Run Code Online (Sandbox Code Playgroud)


Csh*_*rls 6

这也能工作

 require_once(realpath($_SERVER["DOCUMENT_ROOT"]) .'/mysite/php/includes/dbconn.inc');
Run Code Online (Sandbox Code Playgroud)