PHPの$_SERVER変数(リクエスト内容など)の中身を確認したいとき、どのようにしてますか?
ローカルのターミナルで下記の方法をしてませんか?
print_r($_SERVER);
❌ こちらの方法ですと正しく取得ができません。
Webサーバー経由とターミナル実行時の$_SERVER
変数の違い
Webサーバー経由での実行で確認(アクセス)することが重要です
Webサーバー経由でアクセスすることで$_SERVER
にはHTTPリクエストの情報が含まれます
Webサーバー経由でアクセスする手順
- プロジェクト内にPHPファイルを作成
- ブラウザからアクセス
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/
でない場合は、プロジェクトの正しいパスに変更してください