3
Notice: Use of undefined constant DOCUMENT_ROOT - assumed 'DOCUMENT_ROOT' in /home/syole/public_html/includes/config.php on line 21

Notice: Use of undefined constant DOCUMENT_ROOT - assumed 'DOCUMENT_ROOT' in /home/syole/public_html/includes/config.php on line 22

PHP は、文字列として扱っている未定義の定数を検出しました。これにより、ウェブサイトに空白のページしか表示されなくなりました。DOCUMENT_ROOT が事前定義されている/事前定義されている必要があり、文字列ではないことを PHP に理解させるにはどうすればよいですか?

「サーバー構成」がどこにあるのかわかりませんが、私のWebサイトは以前は機能していましたが、現在は機能していないため、どこにいても、おそらくcpanelで正しく定義する必要があると思いますか?

mySQL データベースに接続しているときに Coda2 がこの問題を引き起こしたと思います。

この問題を修正できないようで、追加する前error_reporting(E_ALL);は、このエラーについても知りませんでした。

4

3 に答える 3

6

これをしないでください:

$_SERVER[DOCUMENT_ROOT]

代わりにこれを行います:

$_SERVER['DOCUMENT_ROOT']

文字列 (これはそうです) を引用する必要がありますが、定数 (これはそうではありません) は引用する必要はありません。

補間された文字列内で使用している場合は、次のようにします。

$a = "foo {$_SERVER['DOCUMENT_ROOT']} bar";

{}括弧を使用すると、二重引用符で囲まれた文字列内で一重引用符または二重引用符を使用できます。

于 2013-03-25T01:01:57.363 に答える
2

これを構成ファイルに追加します

 define('DOCUMENT_ROOT', $_SERVER['DOCUMENT_ROOT']);

現在の定数呼び出しに固執したい場合。または、@cal が推奨することを行う必要があります。

于 2013-03-25T01:04:11.747 に答える
0

XDebug は、それ'DOCUMENT_ROOT'が Array() 内の文字列であることを示します$_SERVER

echo $_SERVER['DOCUMENT_ROOT'].'<br />';

echo gettype($_SERVER).'<br />';
echo gettype($_SERVER['DOCUMENT_ROOT']).'<br />';

echo '<pre>';
print_r($_SERVER);
echo '<pre>';
于 2013-03-25T01:03:21.713 に答える