include_once():无法打开流:没有这样的文件或目录-PHP

include_once():无法打开流:没有这样的文件或目录-PHP,php,mysql,include-once,Php,Mysql,Include Once,我试图用php制作一个简单的注册系统。我有一个名为Admin(在controller文件夹中)的类,它扩展了DBConnection.php类。Admin类有一个允许adming注册的注册方法,但遇到了问题。“include_once”出现错误,错误为“警告:include_once(../Database/DBConnection.php):无法打开流:第15行的C:\xampp\htdocs\WoodlandsAway\controller\Admin.php中没有此类文件或目录-----

我试图用php制作一个简单的注册系统。我有一个名为Admin(在controller文件夹中)的类,它扩展了DBConnection.php类。Admin类有一个允许adming注册的注册方法,但遇到了问题。“include_once”出现错误,错误为“警告:include_once(../Database/DBConnection.php):无法打开流:第15行的C:\xampp\htdocs\WoodlandsAway\controller\Admin.php中没有此类文件或目录----- ' “警告:include_once():在第15行的C:\xampp\htdocs\WoodlandsAway\controller\Admin.php中打开“../Database/DBConnection.php”以包含(include_path='C:\xampp\php\PEAR')失败----- ' '致命错误:在第17行的C:\xampp\htdocs\WoodlandsAway\controller\Admin.php中找不到类'DBConnection'

这是我的include_once代码

include_once ('../Database/DBConnection.php');

--DBConnection.php

class DBConnection {
//put your code here
private $host;
private $user;
private $pass;
private $database;
private $conn;

function DBConnection() {
    $this->host = 'localhost';
    $this->user = 'root';
    $this->pass = '';
    $this->database = 'woodlands_away';
}

public function getConnections() {
    $this->conn = new mysqli($this->host, $this->user, $this->pass, $this->database) or
    die($this->conn->error);

    return $this->conn;
}
}

和Admin.php

include_once ('../Database/DBConnection.php');

class Admin extends DBConnection {
public function Admin() {
    parent::DBConnection();
}

public function signup($username, $password) {
    $sql = "insert into users values(".$username.", ".$password.")";

    return $this->getConnections()->query($sql);
}}

首先,我建议您声明一个表示项目根路径的常量。必须以独特的方式(如index.php或类似文件)声明此常量,但必须在项目的根目录中声明:

define('PROJECT_ROOT_PATH', __DIR__);
那么您的include调用应该如下所示:

include_once (PROJECT_ROOT_PATH . '/Database/DBConnection.php');
(始终指定前导斜杠)


问题是,当前您的代码可能依赖于,因此您可能会得到一个意外的工作目录。

您已经在include once中使用了相对路径。您可以在目录结构中验证一个目录是否可用并检查数据库文件夹,或者不尝试
include once(\uuuu DIR\uu./../Database/DBConnection.php'))
admin.php是否也包括在内?还是直接调用该文件?