さくらのレンタルサーバーで$_SERVER[‘SERVER_ADDR’]の値が変わった
2018/04/15 更新
さくらのレンタルサーバーにおいて、これまでPHPの$_SERVER[‘SERVER_ADDR’]によりサーバーのIPアドレスを取得していましたが、最近この変数はプライベートIPアドレスの値を返すようになりました。別の環境変数で対応する方法をメモしておきます。
今後は$_SERVER[‘HTTP_LISTEN_IPADDR’]で代替可能
最近、さくらのレンタルサーバーにおいて$_SERVER[‘SERVER_ADDR’]の結果がプライベートIPアドレスを返すように変わった模様です。
phpinfo()で何かグローバルIPアドレスを返す変数がないか探してみたところ、$_SERVER[‘HTTP_LISTEN_IPADDR’]がグローバルIPアドレスを返していました。
今後は$_SERVER[‘HTTP_LISTEN_IPADDR’]を使うことで、グローバルIPアドレスが取得できるようです。
補足
記事を書きながら見つけましたが、公式のサポート情報にも記載されていました。
レンタルサーバの仕様変更について(2018年3月) – さくらのサポート情報
この公式情報でも、環境変数HTTP_LISTEN_IPADDRを使うことが示されています。
ちなみに管理人が利用しているサーバーでは、4月4日ごろに変化した模様です。
Tags:PHP, さくらのレンタルサーバ