我正在使用get_headers来检查5个前端服务器中是否存在文件。
但是某些文件正在打开,对于某些文件则显示连接超时错误。
stream_context_set_default( [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]);
$prod3 = 'https://prod3.com/Script/log/';
$prod4 = 'https://prod4.com/Script/log/';
$prod5 = 'https://prod5.com/Script/log/';
$prod6 = 'https://prod6.com/Script/log/';
$prod7 = 'https://prod7.com/Script/log/';
$exists_path = "";
if (strstr(current(get_headers($prod3.$file_name)), "200"))
{
$exists_path = "prod3.com";
}
elseif (strstr(current(get_headers($prod4.$file_name)), "200")){
$exists_path = "prod4.com";
}
elseif (strstr(current(get_headers($prod5.$file_name)), "200")){
$exists_path = "prod5.com";
}
elseif (strstr(current(get_headers($prod6.$file_name)), "200")){
$exists_path = "prod6.com";
}
elseif (strstr(current(get_headers($prod7.$file_name)), "200")){
$exists_path = "prod7.com";
}
else
{
$exists_path = "";
}
if ($exists_path != "") {
$pageText = file_get_contents("https://".$exists_path."/Script/log/".$file_name);
echo nl2br($pageText);
} else {
echo -1;
}
当我在浏览器中使用带有文件名的https url时,它会加载数据,但是以下代码显示了连接超时错误,即使该路径中存在文件。
当我在开发服务器上使用相同的代码时,它将起作用。
有人可以给我一个解决此案的想法吗?