dns_get_records ведут себя по-разному

У меня есть php-скрипт, который запускается внутри докера ( версия php — 7.2.34 на orcalelinux ). Он использует dns_get_records для получения записей spf для доменов. Для одного конкретного домена выдает предупреждение:

      Warning dns_get_record(): a temporary server error has occurred on line 7

и возвращает пустой результат.

Я попытался запустить тот же скрипт на php: 7.2-fpm-alpine, результат тот же, но другое предупреждение:

      Warning: dns_get_record(): Unable to parse DNS data received on line 7

Но когда я запускаю скрипт на моем wsl linux (Ubuntu с php версии 7.2.34), скрипт выполняется без предупреждения и возвращает действительный результат для того же домена.

Почему одна и та же функция php ведет себя по-разному в трех разных средах и как это можно исправить?

Моя хост-операционная система - Windows 11. Вот php-скрипт:

      <?php

/* do some stuff*/



$spf = dns_get_record('somedomain',DNS_TXT);
print("---------------------------------SMC SPF record---------------------------------\n");
print("\n$spf\n");
print("---------------------------------SMC SPF record---------------------------------\n");
?>

Я не могу открыть доменное имя из-за проблем с конфиденциальностью.

0 ответов

Другие вопросы по тегам