【发布时间】:2018-05-31 14:31:30
【问题描述】:
我在运行脚本时收到此错误:
Warning: require_once(..\ksUtils.php): failed to open stream: No such file or directory in D:\Prog\xampp\htdocs\projs\MccoS\backEnd\db\dbFunctions.php on line 5
Fatal error: require_once(): Failed opening required '..\ksUtils.php' (include_path='.;C:\php\pear') in D:\Prog\xampp\htdocs\projs\MccoS\backEnd\db\dbFunctions.php on line 5
我需要的文件在“D:\Prog\xampp\htdocs\projs\MccoS\backEnd\db\”中
我当前脚本的第一行:
<?php
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
require_once '..\backEnd\db\dbFunctions.php';
问题是我需要的文件(dbFunctions.php)也有一个必需的文件(ksUtils.php),这是错误的原因。
在 dbFunctions.php 我有这个:require_once '..\ksUtils.php';
注意:我尝试输入 http://localhost/projs/MccoS/backEnd/db/dbFunctions.php 并没有抛出错误。
这是我的层次结构:
D:\Prog\xampp\htdocs\projs\
MccoS
-backEnd
--db
---dbFunctions.php
--ksUtils.php
-frontEnd
--register.php
我该如何解决这个问题?
注意:我使用的是 Windows。
【问题讨论】:
-
您应该有一个
BASE_PATH常量(或类似名称)来保存项目目录的绝对路径,并停止在所有地方使用相对路径,因为这 - 如您所见 - 变成凌乱。然后你可以使用 require_once BASE_PATH 。 'backEnd/ksUtils.php' 你的问题消失了 -
@Xatenev 感谢您的建议,我选择它并解决了我的问题
-
很高兴它对你有用。