組み込み関数のgethostname()を使いましょう。(ただしPHP5.3以上に限る)PHPのバージョンが5.3より低い場合はphp_uname('n’)を使えばホスト名を取得できます。https://www.php.net/manual/ja/function.gethostname.php背景PHPによるホスト名取得の使い道バッチファイルなどのcron実行で起動するPHPファイルにおいて環境ごとに設定を切り替えるときに、ホスト名によって判断させると便利です。上記のファイルは一見うまくいきそうに見えるのですが、このファイルをcronでいざ実行しようとするとDBNAMEが未定義となり失敗します。実はcron実行でホスト名を取得するとき、gethostname()またはphp_uname('n’)を使わないとホスト名取得はできないのです。ホスト名取得3パターンを実験してみました以下のPHPファイルをブラウザアクセス(apache)、CLI実行、cron実行の3種類試してみました。"hostname.log");実行環境は以下の通り。(Ubuntu)あらかじめホスト名を下記の通り設定しておきました。$HOSTNAMEtestブラウザアクセスでのホスト名取得の場合apacheでwebサーバーを立てて、ブラウザからアクセスしてみました。ホスト名は全て取れています。testCLI実行でのホスト名取得の場合コマンドラインから直接phpを手動実行するパターンです。こちらも以下のようにホスト名を取得できています。testcron実行でのホスト名取得の場合cronで実行したパターンです。gethostname()とphp_uname('n’)はホスト名を取得できていますが、$_SERVER['HOSTNAME’]とgetenv('HOSTNAME’)はホスト名の取得ができていません。getenv('HOSTNAME'):以下の記事でもあるように、これはそもそも上段2つと下段2つで参照している値が違うことが原因のようです。cronで実行時もホスト名を適切に取得するPHPのホスト名取得の実験結果まとめ結局万能なのはgethostname()とphp_uname('n’)のようです。PHP5.3以上ならgethostname()、PHP5.3より古いならphp_uname('n’)を利用するのが良さそうです。環境変数HOSTNAMEが定義されている場合は取得可能。えぬたけ都内で働くゆるふわフルスタックwebエンジニア。composerはライブラリ・パッケージ管理ツール。...REPLで仕様をすぐ確認!PHP対話モードでガンガン成長する方法プログラミング上達の基本はとにかく手を動かすことにあると思います。えぬたけ都内で働くゆるふわフルスタックwebエンジニア。