2

私のセットアップは次のとおりです。

/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 で設定されているはずの変数が欠落していると不平を言います。結局のところ、require_once ステートメントが存在しないかのように、config.php 内のすべてが単純に無視されます。var_dump( get_included_files());これを確認します。

エラーは表示されません。require_once の行を config.php の内容に置き換えるだけで、問題なく動作します。config.php と functions.php の両方に単一の echo コマンドしか含まれていない場合にも、同じことが起こります。したがって、ファイルの内容は問題になりません。エラーがどこにあるのか、なぜ 1 つのファイルが含まれているのか、他のファイルは含まれていないのかを判断する方法について、私は少しアイデアがありません。

誰でも助けることができますか?

4

1 に答える 1

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

これで問題が解決すると思います。

于 2012-10-16T10:38:59.623 に答える