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 ?
    или это хост блокирует отправляемые запросы ?
    хотел бы уточнить информацию о данной функции и возможности её включения на хостинге, что бы можно было в техподдержку написать, если дело только в хостинге и в его блокировке.
     
    1. fandor9

      fandor9 Reservists Of Antichat

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

        b3 Banned

        Joined:
        5 Dec 2004
        Messages:
        2,170
        Likes Received:
        1,155
        Reputations:
        202
        https://www.php.net/manual/en/network.requirements.php
         
        GAiN and Skofield like this.
        1. eminlayer7788

          eminlayer7788 Member

          Joined:
          31 Jul 2015
          Messages:
          207
          Likes Received:
          79
          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.
          1. 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.