PHPのサーバー変数を確認する方法

Webサーバー経由とターミナル実行時の$_SERVER変数の違い

Webサーバー経由での実行で確認(アクセス)することが重要です

Webサーバー経由でアクセスすることで$_SERVERにはHTTPリクエストの情報が含まれます

$_SERVER変数の実行環境による違い php -a $_SERVER = [ ‘HOSTNAME’, ‘HOME’, ‘TERM’, // HTTPデータなし ]; ターミナル実行 $_SERVER = [ ‘HTTP_HOST’, ‘REQUEST_METHOD’, ‘REMOTE_ADDR’, ‘HTTP_USER_AGENT’, // HTTPデータあり ]; Webサーバー経由実行 Webサーバー経由の実行では、HTTPリクエストに関連する追加情報が$_SERVER変数に含まれます

Webサーバー経由でアクセスする手順

  1. プロジェクト内にPHPファイルを作成
  2. ブラウザからアクセス

Docker Desktopで開発している場合

対象のコンテナを選択

「Exec」タブから、順番に以下のコマンドを実行

パーミッションの確認と必要に応じて変更

ls -l /var/www/html/server-info.php
chmod 644 /var/www/html/server-info.php

PHPファイルの作成

echo '<?php
header("Content-Type: application/json");
echo json_encode($_SERVER);' > /var/www/html/server-info.php

Webサーバー経由でアクセス

curl localhost/server-info.php

<注意点>

パスが/var/www/html/でない場合は、プロジェクトの正しいパスに変更してください