読者です 読者をやめる 読者になる 読者になる

【php】コマンドライン(cronから)で実行サーバーのipアドレスを取得する方法

はじめに

今回やりたかったことは複数のサーバーに同じスクリプトを置いて、それぞれを実行するcronを設置
処理結果をメールで送信するていう簡単なものでした

が、メールにどのサーバで実行されたものかわからないからメールにサーバーのIPアドレスくらいはのせようということでした。
ところが意外とミスしました

失敗

$_SERVERの中身みてIPぽいのを探すとSSH_CONNECTIONていうのがあって何も考えずにこれを使ってしまいました

$_SERVER["SSH_CONNECTION"] => 111.222.333.444 123456 172.0.10.1 22

これの「172.0.10.1」の部分を正規表現か何かで取得する形で実装したのですが、cronから起動したものは取得できていませんでした。
変数名からも明白でsshの接続情報なんですね。。。cron実行はsshとか関係ないので当然ダメでした。。。

結論

PHP スクリプト実行PCのIPアドレス取得 | HARD DAY'S NIGHT ブログ

上記の記事のようにifconfigで直接取得する形で解決しました

以上です