get_headers возвращает ошибку на новом сервере

Я создал функцию управления изображениями на одном из моих старых сайтов, и она запускается на странице, которая получила полный URL-адрес изображения в качестве переменной get. Часть этой функции использует get_headers, чтобы получить тип содержимого запрошенного файла.

Хотя это работает на моем старом сервере, я недавно перешел на новый сервер, и я помню, что у меня возникали всевозможные проблемы с этой страницей, но я думаю, что это было больше на стороне сервера с библиотекой GD.

Я запускаю сайт на выделенном сервере с php 5.4.X и WHm cPanel, поэтому у меня есть полный доступ к изменениям и установке по мере необходимости.

Проблемный код

<?php

//Get the file and set the headers to the file type
$file           = $_GET['file'];
$headers        = get_headers($file, 1);
header('Content-Type: '.$headers['Content-Type']);

Ответ страницы

Warning: get_headers(): php_network_getaddresses: getaddrinfo failed: Name or service not known in [Removed url] on line 5

Warning: get_headers([Removed url]): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in [Removed url] on line 5

Warning: Cannot modify header information - headers already sent by (output started at [Removed url]:5) in [Removed url] on line 6

Единственное, что я изменил на стороне сервера, это установил значение allow_url_fopen в WHM, все остальное, что я пробовал, я сбросил после того, как он не работает.

0

Решение

Похоже, проблема с разрешением DNS, если адрес правильный, и вы недавно изменили свое имя
серверы домена или, например, запись A, тогда может происходить «распространение» DNS. Вы можете получить его быстрее, используя общедоступные серверы имен Google, например:

nano /etc/resolv.conf

Затем установите ваши сервера имен:

nameserver 8.8.8.8
nameserver 8.8.4.4
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]