【发布时间】:2012-10-06 10:28:56
【问题描述】:
我的设置如下:
/index.php
/php/init.php
/php/config.php
/php/functions.php
index.php 做的第一件事是:
<?php include 'php/init.php'; ?>
init.php 然后像这样继续:
<?php
define('DEBUG',true);
if(DEBUG){
error_reporting(E_ALL);
ini_set('display_errors', '1');
}
require_once 'config.php';
require_once 'functions.php';
?>
加载页面时,我从functions.php 中收到一堆错误,抱怨缺少应该在config.php 中设置的变量。事实证明,config.php 中的所有内容都被忽略,就好像 require_once 语句不存在一样。 var_dump( get_included_files()); 证实了这一点。
它不会显示任何错误,如果我简单地将 require_once 行替换为 config.php 的内容,它就可以正常工作。 当 config.php 和 functions.php 都只包含一个 echo 命令时,也会发生同样的事情。所以文件的内容应该不是问题。 关于如何确定错误在哪里以及为什么它会包含一个文件而不包含另一个文件,我有点不知道。
谁能帮忙?
【问题讨论】:
-
没有看到你的功能和配置的内容是不可能评论的。此外,您很可能混淆/误用了变量的范围。
-
你在哪里包括
config.php?在index.php或php/init.php? -
对不起,不清楚,我已经对其进行了更精确的编辑。基本上:它包含在 init.php 中,配置和函数的内容不会影响错误。我已经用 echo 替换了它们,没有任何变化。
标签: php require-once