0

名前が文字列リテラルではなく変数として渡されると、PHP gethostbyname() が IP ではなく名前を返す

いくつかの貴重な議論で同様の問題を見てきましたが、これが頭に浮かぶものは何もありません。

たとえば $domain =="google.com " 戻り値は google.com. 同じ関数 gethostbyname() を文字列リテラルで呼び出すと、IP アドレスが取得されます。gethostbyname('google.com')

これは既知のバグですか? 回避策はありますか? どんな助けにも感謝します。

ありがとうございました

このコードは失敗します -- 結果として $url の値を生成します:

foreach ($this->domainNames as $url){

            $ips[]=gethostbyname($url); 

    }

2 番目のコード セットは、正しい IP アドレスを 2 回 ($this->domainNames の値ごとに 1 回) 与えます。

foreach ($this->domainNames as $url){

            $ips[]=gethostbyname('google.com'); 

    }

解決策: これは、$this->domainNames 配列値を作成するときにトリムを使用して修正された、変数にいくつかの不適切なスペースが原因であることが判明しました。

4

1 に答える 1