require_once加载一个文件,但不加载另一个文件。没有显示错误

时间:2012-10-16 10:33:18

标签: php require-once

我的设置如下:

/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.php的内容替换require_once行,它就可以正常工作。 当config.php和functions.php只包含一个echo命令时,也会发生同样的事情。因此,文件的内容不应成为问题。 关于如何确定错误的位置以及为什么包含一个文件而不是另一个文件,我有点想法。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

这是代码吗

_<_?php  
define('DEBUG',true);   
if(DEBUG){          
error_reporting(E_ALL);  
ini_set('display_errors', '1');  
}  
require_once 'config.php';  
require_once 'functions.php';   
?>

属于index.php

如果是这种情况,则配置和功能路径不正确。

使用

require_once 'php/config.php';  
require_once 'php/functions.php';

而不是

require_once 'config.php';  
require_once 'functions.php';

我想这会解决你的问题。