1

我正在使用函数 require_once,但在尝试运行页面时不断出错。尝试寻找其他地方,但似乎无法为我的问题找到准确的答案。我的代码是:

    <?php
        require_once(ROOT_DIR . 'Pages/Page.php'); 
        require_once(ROOT_DIR . 'lib/Application/Authentication/namespace.php');

它给了我以下错误:

注意:使用未定义的常量 ROOT_DIR - 在第 3 行的 /opt/lampp/htdocs/myDiary/Pages/LoginPage.php 中假定为“ROOT_DIR”

警告:require_once(ROOT_DIRPages/Page.php) [function.require-once]:无法打开流:第 3 行的 /opt/lampp/htdocs/myDiary/Pages/LoginPage.php 中没有这样的文件或目录

致命错误:require_once() [function.require]:无法在 /opt/lampp/htdocs/myDiary/Pages/ 中打开所需的 'ROOT_DIRPages/Page.php' (include_path='.:/opt/lampp/lib/php')第 3 行的 LoginPage.php。

请解释我的问题是什么,我很久没有编程了。

4

6 回答 6

1

错误消息中都清楚地说明了这一点:

  • 您的常量ROOT_DIR未在脚本中的该位置定义,
  • 所以PHP找不到相应的文件,
  • 这导致require_once()呼叫失败。

作为解决方案,请务必ROOT_DIR在使用前进行设置。看define()这个。

于 2012-09-25T09:25:33.990 回答
1

您收到此错误,因为您尚未定义目录

定义为

define('ROOT_DIR', '/path/to/your/scripts/');
于 2012-09-25T09:25:50.063 回答
1

您必须ROOT_DIR在顶部定义常量:

define('ROOT_DIR', '/path/to/your/scripts/');
于 2012-09-25T09:24:04.153 回答
0

尝试 DOCUMENT_ROOT

<?php 
   $path = $_SERVER['DOCUMENT_ROOT'];
   $path .= 'Pages/Page.php';
  include_once($path);
?>
于 2012-09-25T09:25:26.580 回答
0

Think this should work

require_once(__ROOT__.'Pages/Page.php'); 

the useful link is here :

http://php.net/manual/en/function.require-once.php

于 2012-09-25T09:26:23.947 回答
0

您应该首先定义 ROOT_DIR .. 像这样:

define('ROOT_DIR', 'path');
于 2012-09-25T09:24:20.470 回答