За последние 24 часа нас посетили 60328 программистов и 1818 роботов. Сейчас ищут 2344 программиста ...

Белая страница php_network_getaddresses: getaddrinfo failed

Тема в разделе "PHP для новичков", создана пользователем Alex_sh, 26 июн 2016.

  1. Alex_sh

    Alex_sh Новичок

    С нами с:
    26 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Доброго времени.

    В общем, сабж - белая страница, отображение ошибок включено, в логе
    Код (Text):
    1. "26 Jun 2016 07:21:59","/classes/Tools.php:
    2.   2048","(Warning) file_get_contents(): php_network_getaddresses: getaddrinfo failed: hostname nor servname provided, or not known"
    php phpinfo() -

    _SERVER["HOSTNAME"] no value

    _SERVER["HOSTNAME"] должна содержать hostname или другая переменная?
    Как её определить руками?
    Насколько мне известно, в php.ini данный параметр отсутствует. ..... то есть есть [HOST=value], но это не обязательный параметр, а значит, это не то.

    Код не самописный - движок SMS. Всё было ОК, решил обновить версию движка......
    Теперь восстанавливаю всё из заведомо рабочего бэкапа - белая страница, ошибка.
    Не могу найти решение самостоятельно. Прошу помощи.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Какой адрес запрашивается в file_get_contents()?
     
  3. Alex_sh

    Alex_sh Новичок

    С нами с:
    26 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Вот эта функция, но как узнать, что в $url ?

    Код (Text):
    1. public static function file_get_contents($url, $use_include_path = false, $stream_context = null, $curl_timeout = 5)
    2.     {
    3.         if ($stream_context == null && preg_match('/^https?:\/\//', $url)) {
    4.             $stream_context = @stream_context_create(array('http' => array('timeout' => $curl_timeout)));
    5.         }
    6.         if (in_array(ini_get('allow_url_fopen'), array('On', 'on', '1')) || !preg_match('/^https?:\/\//', $url)) {
    7.             return @file_get_contents($url, $use_include_path, $stream_context);
    8.         } elseif (function_exists('curl_init')) {
    9.             $curl = curl_init();
    10.             curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    11.             curl_setopt($curl, CURLOPT_URL, $url);
    12.             curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
    13.             curl_setopt($curl, CURLOPT_TIMEOUT, $curl_timeout);
    14.             curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    15.             if ($stream_context != null) {
    16.                 $opts = stream_context_get_options($stream_context);
    17.                 if (isset($opts['http']['method']) && Tools::strtolower($opts['http']['method']) == 'post') {
    18.                     curl_setopt($curl, CURLOPT_POST, true);
    19.                     if (isset($opts['http']['content'])) {
    20.                         parse_str($opts['http']['content'], $post_data);
    21.                         curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    22.                     }
    23.                 }
    24.             }
    В каких системных настройках PHP м.б определены параметры URL хоста? Например, системное имя хоста или ресурса?

    Интересно то, что сам сайт работает, т.е имя резолвится нормально, а в админку не попасть.
    Отображение ошибок информации не даёт. Любой заведомо рабочий бэкап имеет ту же проблему. Локэйшены сервера проверены, из каталога админки phpinfo() возвращает всё, как положено. Остаётся одно - настройки PHP

    php.ini
    Код (Text):
    1. date.timezone = "Etc/GMT+4"
    2. max_execution_time = 300
    3. memory_limit = 256M
    4. post_max_size = 30M
    5. ;upload_max_filesize = 4M
    6. upload_max_filesize = 16M;
    7. ;max_input_time = 300
    8. max_input_time = -1;
    9.  
    10. max_input_vars = 10000;
    11. suhosin.get.max_vars = 10000;
    12. suhosin.post.max_vars = 10000;
    13.  
    14. allow_url_fopen = On
    15. register_globals = Off
    16. safe_mode = Off
    17.  
    18. magic_quotes_gpc = Off
    19. magic_quotes_runtime = Off
    20. magic_quotes_sybase = Off
    21.  
    22. expose_php = Off
    23. display_errors = On
    24. log_errors = On
    25. cgi.fix_pathinfo=0
    26.  
    27. ;session.cache_limiter = "nocache"
    28. sql.safe_mode = On
    29.  
    30.  
    31. [mail function]
    32. mail.add_x_header = On
    33. sendmail_path = /usr/local/sbin/sendmail -t -i
     
    #3 Alex_sh, 27 июн 2016
    Последнее редактирование: 27 июн 2016
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    var_dump($url) добавить
     
  5. Alex_sh

    Alex_sh Новичок

    С нами с:
    26 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Пробовал, не возвращает ничего - белое поле.
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Alex_sh куда ты добавил?
    Попробуй первой строчкой var_export($url); exit; в метод file_get_contents добавить.
     
  7. Alex_sh

    Alex_sh Новичок

    С нами с:
    26 июн 2016
    Сообщения:
    5
    Симпатии:
    0
    Прошу прощения за ламмерство, намудрил с https. Разобрался.
    Тема закрыта