get_headers在新服务器上返回错误

时间:2014-10-02 08:29:24

标签: php apache cpanel whm

我在我的一个旧网站上创建了一个图像处理函数,这是在一个页面上运行的,该页面接收到图像的完整网址作为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

我唯一改变服务器端的是将WHM中的allow_url_fopen设置为on,我尝试过的其他所有内容在我不能正常工作后重置。

1 个答案:

答案 0 :(得分:0)

似乎是DNS解析问题,如果地址合适且您最近更改了您的名字 例如,域的服务器或A记录可能正在进行DNS“传播”。您可以使用谷歌的公共名称服务器更快地获得它:

nano /etc/resolv.conf

然后设置你的名字服务器:

nameserver 8.8.8.8 
nameserver 8.8.4.4