내 사이트가 최근에 다운되어 호스팅 회사에서 복구를 도왔습니다. 그 후 내 페이지 중 하나에서이 오류가 계속 발생합니다.get_headers 방법에 http 500 오류가 발생했습니다.
[22-Oct-2017 02:54:03 UTC] PHP Fatal error: Cannot redeclare get_headers() in C:\inetpub\vhosts\mysite.com\httpdocs\html\blue\inc\ip_redirect.php on line 92
코드가 참조하는 방법은 다음과 같습니다. 내가 확인했는데 이것은 HTTP 500 오류의 원인이다.
function get_headers($url,$format=0)
{
$url=parse_url($url);
$end = "\r\n\r\n";
$fp = fsockopen($url['host'], (empty($url['port'])?80:$url['port']), $errno, $errstr, 30);
if ($fp)
{
$out = "GET/HTTP/1.1\r\n";
$out .= "Host: ".$url['host']."\r\n";
$out .= "Connection: Close\r\n\r\n";
$var = '';
fwrite($fp, $out);
stream_set_timeout($fp, 5);
while (!feof($fp))
{
$var.=fgets($fp, 1280);
$info = stream_get_meta_data($fp);
if ($info['timed_out']) {
echo 'Connection timed out!';
return "";
}
if(strpos($var,$end))
break;
}
fclose($fp);
$var=preg_replace("/\r\n\r\n.*\$/",'',$var);
$var=explode("\r\n",$var);
if($format)
{
foreach($var as $i)
{
if(preg_match('/^([a-zA-Z -]+): +(.*)$/',$i,$parts))
$v[$parts[1]]=$parts[2];
}
return $v;
}
else
return $var;
}
}
프레임 워크를 사용하고 있습니까? 'function get_headers'에 대한 모든 파일을 검색하고 그것이 이미 정의되어 있는지 확인하십시오. –
또는이 함수를 여러 번 정의하는 파일을 포함하지 않도록하십시오. include_once()는 함수를 선언하는 모든 파일에 사용해야합니다. – Devon