繁体   English   中英

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

[英]Fatal error: require_once() [function.require]: Failed opening required

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

Warning:

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';

我在lib/confs/Conf.php Conf.php下面有文件Conf.php,即使我收到错误。

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

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

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

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

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

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

您的脚本中未定义ROOT_PATH 这应该是具有根路径值的已定义常量。

如果已定义,请检查它。

if (defined('ROOT_PATH')) { echo 'Defined';} else { echo 'Not defined'; }

它没有定义。

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

在脚本中定义。

define('ROOT_PATH',$_SERVER['DOCUMENT_ROOT']); //an example

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

只需对传递给require_once函数的整个路径进行回显,并仔细检查它是否有问题:

echo ROOT_PATH . "/lib/confs/Conf.php";

我今天遇到了这个问题。 我找到了答案。 PHP Bug#23392

基本上你必须安装Pear OLE扩展。

pear安装OLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM