如何用php检测网站是否可以访问?fopen之类的就算了,如果多了,效率太低

时间:2022-12-18 14:24:50
我是用ajax访问一个控制器,下面贴代码

jq:
$.ajax({type: "POST",url:"__APP__/index.php/Status/index",data:{'domain':$("#domain",$(".list")).eq(i).html()},dataType: "json",timeout:"1000",success: function(data){

if(data.status=='1'){
$(".status",$(".list").eq(i)).attr('src','__APP__/Tpl/warrant_1/images/status/online_ok.gif');

$(".status",$(".list").eq(i)).attr('alt','网站正常');


}else{
$(".status",$(".list").eq(i)).attr('src','__APP__/Tpl/warrant_1/images/status/online_err.gif');
$(".status",$(".list").eq(i)).attr('alt','网站不正常');
}

if (i<maxA){
i++;
ajaxa(i,maxA);
}



php:
public function index($domain,$next=0){
if($_POST['domain']){
$domain=$_POST['domain'];
}else{
$domain=$domain;
}
@$gh=get_headers("$domain");
if($gh==true){
echo $this->ajaxReturn(1,"成功",1);
}else{
echo $this->ajaxReturn(0,"失败",0);
}

}


现在的情况是 如果其中一个卡到了 下面的都不能进行了,该怎么解决了,新手,麻烦说详细点,或者有没有别的什么 效率高点的 我看站长工具上面的 效率挺高的

9 个解决方案

#1


该回复于2012-03-23 16:22:23被版主删除

#2


没人知道吗 在线等 啊

#3


你不是已经用 get_headers 检查了吗?

#4


但是这样 有时会返回不了数据 一直卡死到那

#5


使用curl,设置超时时间。判断返回的头部状态码就行了。

#6


可以尝试用 curl,设置:只返回头,连接超时时间

#7


该回复于2012-03-23 16:21:17被版主删除

#8


为啥 $gh==true 就算成功? 返回500也算可以访问?

#9


网络环境的问题?上传到服务器上会好点吧

#1


该回复于2012-03-23 16:22:23被版主删除

#2


没人知道吗 在线等 啊

#3


你不是已经用 get_headers 检查了吗?

#4


但是这样 有时会返回不了数据 一直卡死到那

#5


使用curl,设置超时时间。判断返回的头部状态码就行了。

#6


可以尝试用 curl,设置:只返回头,连接超时时间

#7


该回复于2012-03-23 16:21:17被版主删除

#8


为啥 $gh==true 就算成功? 返回500也算可以访问?

#9


网络环境的问题?上传到服务器上会好点吧