那么,当没有新消息/更新时,facebook如何返回200状态代码?
我尝试了很长时间的轮询并且有效。我现在面临的唯一问题是,当轮询没有返回任何内容时,我遇到500内部服务器错误(超过max_execution_time)。
我不想改变" max_execution_time"民意调查,但我想要的是即使没有新消息/更新也会返回200 OK状态代码。
修改:我已经阅读了各种来源,包括stackoverflow(抱歉,我读过太多,并且无法在此处引用所有内容)我应该返回一个空响应来获取200状态代码。
现在,新问题是:
如果没有新的消息/更新(#&#34;当&#34;循环正在运行且即将达到max_execution_time时),如何返回空体响应以防止500内部服务器错误(超出max_execution_time)。< / p>
用一个更简单的术语:
如何在循环到达超时之前返回空响应
答案 0 :(得分:0)
好的,我找到了一个解决方法,或一个整洁或相当讨厌的解决方案哈哈!
this帖子中名为Adeel的用户的评论给了我这个想法。
我所做的是从现在起30秒后设定一个时间:
$future = date("Y-m-d H:i:s", strtotime("+30 seconds"));
while ($last_number < $new_number){
$now = date("Y-m-d H:i:s");
if($now == $future){
break 1;
}
//some codes for iteration and updating $last_number in this while loop
}
echo json_encode();
我不知道这是否是实现我想到的最佳方式,但这是迄今为止唯一的解决方法。
如果你们有更好的解决方案,我很高兴知道。
所以最后,我只是打破了循环哈哈,多么愚蠢。