私は何か愚かでおそらく明白なことをしていますが、わかりません。私のheader.php
では私が持っている:これを使用して
define('ABSPATH', $_SERVER['SERVER_NAME']);
require_once(ABSPATH . "/config.php");
は、次のエラーを生成します。私はlocalhost/config.php
に直接移動ただし、(現在は、それが文をエコーされるだけの簡単な1行のファイル
Warning: require_once(localhost/config.php): failed to open stream:
No such file or directory in C:\wamp\www\inc\header.php on line 4
Call Stack: 0.0002 684176 1. {main}() C:\wamp\www\index.php:0 0.0003
696152 2. require_once('C:\wamp\www\inc\header.php') C:\wamp\www\index.php:2
Fatal error: require_once(): Failed opening required 'localhost/config.php' (include_path='.;C:\php\pear') in C:\wamp\www\inc\header.php on line 4 Call Stack:
0.0002 684176 1. {main}() C:\wamp\www\index.php:0 0.0003 696152 2. require_once('C:\wamp\www\inc\header.php') C:\wamp\www\index.php:2
です) それが動作します。
私は間違っていますか?
1あなたは、 'localhostの/ config.php'が彼のブラウザで動作理由の説明が正しいですが、ないといえいいだろうが必要です。 'URL fopen wrappers'と、require(" http:// "。ABSPATH。" /config.php ")が有効になっている方法を説明すると、それは悪い考えです。 – Paulpro
それはトリック、ありがとう! @ PaulP.R.O。 - なぜそれが悪い考えであると説明しますか?私は何を使用すべきですか? –
'require'を' http'と一緒に使うのは悪い考えです。なぜならあなたのrequire/includeはすべてhttpで作られるからです。これは、ファイルが開いているサーバーと同じサーバー上にあるため、必要ではありません。 '$ _SERVER ['DOCUMENT_ROOT']'はあなたのウェブルートへのファイルシステムパスを与えます。そこからconfig.phpにアクセスできます。 – Paulpro