致命错误:require_once()[function.require]:需要打开失败

Gna*_*dra 6 php

我在php项目中工作,它给出的错误如下:

Warning:
Run Code Online (Sandbox Code Playgroud)

require_once(ROOT_PATH/lib/confs/Conf.php)[function.require-once]:无法打开流:第20行的..\htdocs\GProject\lib\exception\ExceptionHandler.php中没有这样的文件或目录

致命错误:require_once()[function.require]:在..\htdocs\GProject\lib \中打开所需的'ROOT_PATH/lib/confs/Conf.php'(include_path ='.; C:\ php5\pear')失败第20行的异常\ ExceptionHandler.php

但在\ExceptionHandler.php文件中,第20行是

require_once ROOT_PATH . '/lib/confs/Conf.php';
Run Code Online (Sandbox Code Playgroud)

我有自己的文件Conf.php lib/confs/Conf.php,即使我收到错误.

可能是什么问题.提前致谢.

Ste*_*ose 7

我会通过以下假设调试这个,

  1. 该文件不存在.
  2. ROOT_PATH设置不正确.
  3. 当前工作目录不是预期的,因此如果ROOT_PATH是相对的,它将打破完整路径.

如果不是上述情况,我不确定.

必须将某些库安装到PHP库路径中列出的目录中.在这些情况下,您有几个选择:

  • 默认情况下将库安装到PHP搜索的目录中(例如,/ usr/share/php).
  • 使用set_include_path而不覆盖旧路径更新包含路径(get_include_path与组合使用PATH_SEPARATOR).


Sha*_*ngh 2

ROOT_PATH未在您的脚本中定义。这应该是一个定义的常量,其值为您的根路径的值。

检查是否已定义。

if (defined('ROOT_PATH')) { echo 'Defined';} else { echo 'Not defined'; }
Run Code Online (Sandbox Code Playgroud)

它没有被定义。

如果已定义,则错误消息将包含已定义常量的值,因为它包含错误的常量本身。

在您的脚本中定义。

define('ROOT_PATH',$_SERVER['DOCUMENT_ROOT']); //an example
Run Code Online (Sandbox Code Playgroud)

或者您忘记包含定义这些常量的配置文件。