当我尝试检查某些网址时,由于我的服务器连接,我的主机无法访问目标服务器。一旦无法到达,它没有返回任何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";
?>
答案 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秒钟,然后终止连接。