PHP: функция checkdnsrr

Discussion in 'PHP' started by GAiN, 14 Mar 2023.

  1. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    Здравствуйте. С помощью функции checkdnsrr проверяю MX записи у почтовых доменов.
    На локальном хостинге работающем на XAMPP она прекрасно выполняется.
    Загружаю файлы на хостинг, функция checkdnsrr не работает. Хотел бы уточнить, есть ли опции, например в php.ini или другие включающие функцию checkdnsrr ?
    или это хост блокирует отправляемые запросы ?
    хотел бы уточнить информацию о данной функции и возможности её включения на хостинге, что бы можно было в техподдержку написать, если дело только в хостинге и в его блокировке.
     
  2. fandor9

    fandor9 Reservists Of Antichat

    Joined:
    16 Nov 2018
    Messages:
    630
    Likes Received:
    1,050
    Reputations:
    47
    может функция выключена на хостинге через disable_funcitons? хотя конечно странно, если бы выключили...
     
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
  4. eminlayer7788

    eminlayer7788 Member

    Joined:
    31 Jul 2015
    Messages:
    202
    Likes Received:
    78
    Reputations:
    8
    Code:
    require_once 'Net/DNS.php';
    
    $domain = 'example.com';
    $resolver = new Net_DNS_Resolver();
    $mx_records = array();
    
    try {
        $result = $resolver->query($domain, 'MX');
    
        foreach ($result->answer as $rr) {
            if ($rr->type === 'MX') {
                $mx_records[] = array(
                    'priority' => $rr->preference,
                    'host' => $rr->exchange
                );
            }
        }
    } catch (Net_DNS_Exception $e) {
        echo "Error: " . $e->getMessage();
    }
    
    print_r($mx_records);
     
    GAiN likes this.
  5. sherxan-g

    sherxan-g Member

    Joined:
    6 Jan 2016
    Messages:
    77
    Likes Received:
    18
    Reputations:
    0
    Вы можете попробовать установить опцию enable_dl в php.ini на значение On, чтобы разрешить динамическую загрузку расширений PHP, которые могут быть необходимы для функции checkdnsrr. Также убедитесь, что расширение dns включено в конфигурации PHP.