php怎么实现延时执行代码且访问不过期
php用sleep()做暂停一段时间的代码但是好像10分钟都暂停不了,也用了set_time_limit(0);但好像没用。1分钟时可以执行下面的代码,10分钟就不行了。...
php用sleep()做暂停一段时间的代码但是好像10分钟都暂停不了,也用了set_time_limit(0); 但好像没用。1分钟时可以执行下面的代码,10分钟就不行了。
展开
展开全部
你的业务逻辑是什么,是要做服务器定时任务,还是客户端长连接?
sleep为暂停执行,时间按秒计
如果要在浏览器的访问环境下做任务执行,最好在长时间执行前把session数据读出来然后调用一下session_write_close,以防session堵塞用户后面的访问进程
在后台执行的脚本中可以加些日志输出,以方便根据日志判断脚本的执行情况。你这个标注这个成功,那个不成功,不一定是实际情况,脚本出错也无法显示出来看到
php本身不适合做长连接,受限于web容器(如:iis 本身也有个脚本超时限制,大部分web服务器会缓存输出的内容直到脚本完全执行完成才一起输出),业务场景不复杂的话,在客户端做定时轮询就好了,不会多复杂,如果访问量大的话,建议学一下swoole,比较适合做消息服务器
sleep为暂停执行,时间按秒计
如果要在浏览器的访问环境下做任务执行,最好在长时间执行前把session数据读出来然后调用一下session_write_close,以防session堵塞用户后面的访问进程
在后台执行的脚本中可以加些日志输出,以方便根据日志判断脚本的执行情况。你这个标注这个成功,那个不成功,不一定是实际情况,脚本出错也无法显示出来看到
php本身不适合做长连接,受限于web容器(如:iis 本身也有个脚本超时限制,大部分web服务器会缓存输出的内容直到脚本完全执行完成才一起输出),业务场景不复杂的话,在客户端做定时轮询就好了,不会多复杂,如果访问量大的话,建议学一下swoole,比较适合做消息服务器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询