php_header函数如果挂起挂起则杀死

时间:2017-11-10 12:28:19

标签: php timeout

当我尝试检查某些网址时,由于我的服务器连接,我的主机无法访问目标服务器。一旦无法到达,它没有返回任何PHP挂起刚刚卡住。我想在php文件中添加一些KILL命令,以便能够在卡住时终止连接。反正在一定时间之后有没有杀死连接?或任何if或任何其他命令来解决此问题?我想在运行头命令timeout -s KILL 10之前添加此命令。

我的代码是:

<?php

function UR_exists($url){
    $headers=get_headers($url);
    return stripos($headers[0],"200 OK")?true:false;
}

if(UR_exists("https://www.uni-hohenheim.de/fileadmin/einrichtungen/apo/Hauptseminar_Agraroekonomie_12/Simeon_Ehui_World_Bank.pptx"))
    echo "file exists";
else
    echo "file does not exist";

?>

2 个答案:

答案 0 :(得分:1)

可能只是设置超时,而不是尝试设置闹钟+杀死。设置超时必须更容易使用。

Setting get_headers() timeout提供了有关如何执行此操作的详细信息。

答案 1 :(得分:1)

$original_default_context = stream_context_set_default(["http" => ["timeout" => 10]]);
$headers = get_headers($url);
stream_context_set_default($original_default_context);

这将挂起10秒钟,然后终止连接。