【PHP】SERVER_NAMEじゃなくてphp_unameで開発環境と本番環境を振り分ける
困ったこと
filter_input(INPUT_SERVER, 'SERVER_NAME')
これでサーバーの名前をとって、 localhost
かどうかで振り分けていたが、PHPUnitを使った時に、 null
で返ってきたので代替法。
解決策
php_uname('n')
これでPC名がでる。
PHP が稼動しているオペレーティングシステムに関する情報を返す https://www.php.net/manual/ja/function.php-uname
こんな感じになった。
if (mb_strpos(php_uname('n'), '***.localhost') !== false) { // 開発環境 } else { // 本番環境 }