phpで$_SERVER[‘SERVER_NAME’]の中身が空っぽになる原因を紹介いたします。
自身のサーバ名を参照する際に、$_SERVER[‘SERVER_NAME’]を使用することがありますが、以下のように実行しても何も表示されない場合があります。
1 |
echo $_SERVER['SERVER_NAME'] |
なぜ空っぽになってしまうかというと、webサーバ側である項目が設定されていないからです。
その設定がserver_nameです。
nginxの場合は、confファイルに以下のように記述しますね。
1 2 3 4 |
server { listen 80; server_name kamotora.net; } |
ここで設定しているserver_nameが、$_SERVER[‘SERVER_NAME’]で表示される内容になります。
ここの内容を以下のようにコメントアウトすると$_SERVER[‘SERVER_NAME’]は空っぽになります。
1 2 3 4 |
server { listen 80; <span style="color: #ff0000;">#server_name kamotora.net;</span> } |
$_SERVER[‘SERVER_NAME’]を使用する際には、server_nameを有効化させておきましょう。