名前が文字列リテラルではなく変数として渡されると、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 配列値を作成するときにトリムを使用して修正された、変数にいくつかの不適切なスペースが原因であることが判明しました。