PHP gethostbyname() возвращает имя вместо IP, когда имя передается как переменная, а не строковый литералPHP gethostbyname() возвращает имя вместо IP, когда имя передается как переменная, а не строковый литерал
Я видел похожие проблемы с некоторой ценной дискуссией, но ничего, что эта эта голова.
Если я передаю varible, скажите $ domain в gethostbyname(), где $ domain - это строковое значение, созданное циклом foreach, возвращаемое значение всегда именно то, что я в него вложил, например, если $ domain == «google.com» возвращаемое значение - google.com. Вызывая ту же функцию gethostbyname() с строковым литералом, я получаю IP-адрес. gethostbyname ('google.com')
Это известная ошибка? Есть ли обходной путь? Буду благодарен за любую помощь.
Спасибо
Этот код не - получение значения $ URL для результата:
foreach ($this->domainNames as $url){
$ips[]=gethostbyname($url);
}
Второй набор кода дает правильный адрес IP-два раза (один раз для каждого значения в $ this-> domainNames:
foreach ($this->domainNames as $url){
$ips[]=gethostbyname('google.com');
}
РЕШЕНИЕ: Это оказалось быть вызваны некоторыми некоторые корявые пробела в моем varible, которые были зафиксированы с помощью дифферента при создании my $ this-> domainNames.
Просьба указать конкретный код, в котором возникает эта проблема. Я попробовал, и он возвращает мне IP-адрес, а не имя. – Laurens
Поскольку мы не знаем, что находится внутри $ this-> domainNames, мы по-прежнему не можем вам помочь. Также дайте дамп $ this-> domainNames, выполнив 'var_dump ($ this-> domainNames);' – Laurens
Laurens $ this-domainName в данный момент был разделен на массив, содержащий две строки как google.com, - когда я ввожу точные значения (вырезать и вставлять) в функцию, я получаю IP-адреса, когда я вхожу в vars из foreachloop, я получаю данные, которые я вставляю (если я не ввел недопустимое имя домена, тогда получаю сообщение об ошибке) –