メモとして残します。
$_SERVER
でも普通に参照できますが、フレームワークを使っている以上、スーパーグローバル変数を直接参照するのはどうかということで、一応、お作法にのっとって、Laravel上でスマートに参照する方法を紹介。
下記の例ではLaravelのヘルパrequest
を使用して、帰ってきたオブジェクトのserver
プロパティを参照しています。
■確認方法
$_SERVER要素全て
request()->server;
//↓実行結果
// "MIBDIRS" => "C:/hoge/php/extras/mibs"
// "MYSQL_HOME" => "\xampp\mysql\bin"
// "OPENSSL_CONF" => "C:/hoge/apache/bin/openssl.cnf"
// "PHP_PEAR_SYSCONF_DIR" => "\xampp\php"
// "PHPRC" => "\xampp\php"
// "TMP" => "\xampp\tmp"
// "HTTP_HOST" => "hoge.www.com"
// "HTTP_CONNECTION" => "keep-alive"
// "HTTP_PRAGMA" => "no-cache"
// "HTTP_CACHE_CONTROL" => "no-cache"
// "HTTP_UPGRADE_INSECURE_REQUESTS" => "1"
// "HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
// "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
// "HTTP_REFERER" => "http://hoge.www.com/"
// "HTTP_ACCEPT_ENCODING" => "gzip, deflate"
// "HTTP_ACCEPT_LANGUAGE" => "ja,en-US;q=0.9,en;q=0.8"
// "HTTP_COOKIE" => "remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d=eyJpdiI6IjBIU1JxWVFCeG96T1RWeDFBcUtrVVE9PSIsInZhbHVlIjoieU5pRnVudTJub1wvTzJpUndLZlQ4MzNlaVlqdEZqK24xUTlQNX ▶"
// "PATH" => "hoge"
// "SystemRoot" => "C:\WINDOWS"
// "COMSPEC" => "C:\WINDOWS\system32\cmd.exe"
// "PATHEXT" => ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
// "WINDIR" => "C:\WINDOWS"
// "SERVER_SIGNATURE" => "<address>Apache/2.4.39 (Win64) OpenSSL/1.1.1c PHP/7.3.8 Server at hoge.www.com Port 80</address>"
// "SERVER_SOFTWARE" => "Apache/2.4.39 (Win64) OpenSSL/1.1.1c PHP/7.3.8"
// "SERVER_NAME" => "hoge.www.com"
// "SERVER_ADDR" => "127.0.0.1"
// "SERVER_PORT" => "80"
// "REMOTE_ADDR" => "127.0.0.1"
// "DOCUMENT_ROOT" => "C:/Develop/hogeproject/public"
// "REQUEST_SCHEME" => "http"
// "CONTEXT_PREFIX" => ""
// "CONTEXT_DOCUMENT_ROOT" => "C:/Develop/hogeproject/public"
// "SERVER_ADMIN" => "hoge@hoge.test.com"
// "SCRIPT_FILENAME" => "C:/Develop/hogeproject/public/index.php"
// "REMOTE_PORT" => "59332"
// "GATEWAY_INTERFACE" => "CGI/1.1"
// "SERVER_PROTOCOL" => "HTTP/1.1"
// "REQUEST_METHOD" => "GET"
// "QUERY_STRING" => ""
// "REQUEST_URI" => "/"
// "SCRIPT_NAME" => "/index.php"
// "PHP_SELF" => "/index.php"
// "REQUEST_TIME_FLOAT" => 1591082776.119
// "REQUEST_TIME" => 1591082776
要素を指定して参照
//request()->server->get('要素名');//SERVER_NAMEなど
request()->server->get('SERVER_NAME');
//↓実行結果
//localhost.hoge.com