PHP gethostbyname()は文字列リテラルではなく変数として渡されたときにIPではなく名前を返すPHP gethostbyname()は、文字列リテラルではなく変数として渡されたときにIPではなく名前を返す
私はいくつかの貴重な議論で同様の問題を見てきましたが、これについては頭がおかしくありません。
$ domainがforeachループによって作成された文字列値である場合、$ domainをgethostbyname()に渡すと、戻り値は常に正確に私が置いたものです - たとえば$ domain ==の場合「google.com」の戻り値はgoogle.comです。同じ関数gethostbyname()を文字列リテラルで呼び出すと、IPアドレスが取得されます。 gethostbyname( 'google.com')
これは既知のバグですか?回避策はありますか?私はどんな助けにも感謝します。
は、このコードが失敗したあなたに
をありがとう - 結果の$ URLの値を生成する:
foreach ($this->domainNames as $url){
$ips[]=gethostbyname($url);
}
コードの2番目のセットは$に値ごとに二回(一回正しいIPアドレスを提供しますthis->なドメイン名:
foreach ($this->domainNames as $url){
$ips[]=gethostbyname('google.com');
}
解決 これは、使用して固定した私のvaribleでいくつかのいくつかのずさんなスペースを生じることが判明作成するときにトリムmy $ this-> domainNames配列の値です。
この問題が発生する特定のコードを記入してください。私はそれを試して、それは私に名前ではなくIPアドレスを返します。 – Laurens
$ this-> domainNamesの中に何が入っているかわからないので、私たちはまだあなたを助けません。 – Laurens
Laurens $ this-domainNameは、現在、「google.com」と「google.com」の2つの文字列を含む配列には削除されています。 - IPアドレスを取得する関数に正確な値(カットアンドペースト)を入力すると、foreachloopから変数を入力すると、データを取得します(無効なドメイン名を入力しない限りエラーが発生します) ) –