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

2022-08-30 19:43:46

我在“页面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

如果我在我收到的浏览器中测试页面A:

警告:require_once(../include/dbconn.inc) [function.require-once]: 未能打开流: 在第 3 行的 C:\wamp\www\mysite\php\classes\eventManager 中没有这样的文件或目录.php


致命错误: require_once() [function.require]: 打开失败需要 '../include/dbconn.inc' (include_path='.;C:\php5\pear') 在 C:\wamp\www\mysite\php\classes\eventManager.php 第 3 行

错误在哪里?

谢谢卢卡


答案 1

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

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

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

答案 2

您需要链接到相对于包含的文件的文件(第 A 页)

更改代码eventManager.php
require_once('../includes/dbconn.inc');


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


推荐