get_headers:无法打开流:连接超时

时间:2019-06-24 07:37:11

标签: php http curl http-headers

我正在使用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时,它会加载数据,但是以下代码显示了连接超时错误,即使该路径中存在文件。

当我在开发服务器上使用相同的代码时,它将起作用。

有人可以给我一个解决此案的想法吗?

0 个答案:

没有答案