首页 > 后端开发 > 正文

php如何制作类似setInterval函数

2024-07-15 19:34:02 | 我爱编程网

今天我爱编程网小编整理了php如何制作类似setInterval函数相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

php如何制作类似setInterval函数

php如何制作类似setInterval函数

PHP定时执行的三种方式实现

1、windows 的计划任务

2、linux的脚本程序

3、让web浏览器定时刷新

具体实现

1、windows计划任务

PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。

2、linux 的脚本实现


这里主要使用到crontab这个命令,
使用方式 :

crontab   filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

说明 :

crontab是用来让使用者在固定时间或固定间隔执行程式之用 我爱编程网

使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性

3、PHP实现定时执行计划任务


使用php让浏览器刷新需要解决几个问题
PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)
如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行
如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行
PHP定时执行的代码:

<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
    //这里是你要执行的代码    
    sleep($interval);
}while(true);

php如何制作类似setInterval函数

PHP file_get_contents 函数超时的几种解决方法

这里就简单介绍两种:
一、增加超时的时间限制
这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource
$context的timeout参数:
复制代码
代码如下:
$opts
=
array(
‘http'=>array(
‘method'=>”GET”,
‘timeout'=>60,
)
);
$context
=
stream_context_create($opts);
$html
=file_get_contents(' ',
false,
$context);
fpassthru($fp);
二、一次有延时的话那就多试几次
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回
FALSE,所以可以下面这样编写代码:
复制代码
代码如下:
$cnt=0;
while($cnt
<
3
&&
($str=@file_get_contents('http…'))===FALSE)
$cnt++;

php如何制作类似setInterval函数

大师求救,php的sleep()函数出现中断,什么原因?

我爱编程网(https://www.52biancheng.com)小编还为大家带来大师求救,php的sleep()函数出现中断,什么原因?的相关内容。

function ok后面要有个括号。这个不重要。
中断不是因为php程序,不是sleep的问题,一个原因是浏览器主动断开了,

一般来说,http来连接的,客户端都会等待一定时间后,就认为是连接丢失了,就会报504错误了。
也有个原因是webserver的原因,进程管理模块认为你的子进程进入了死循环,主动终止了。
还有个原因,就是:我不懂,我是随便胡说的,哈哈。

以上就是php如何制作类似setInterval函数全部内容,更多相关信息,敬请关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“php如何制作类似setInterval函数”相关推荐
Java如何制作启动界面?
Java如何制作启动界面?

eclipse创建java程序教程eclipse软件操作方法01首先确保电脑上已经配置好java的环境,安装了eclipse软件,如果确定已经完成了,则双击鼠左键打开eclipse软件否则可参考如下链接,分别为安装java环境和配置java环境和下载安装eclipse的详细步骤,可参。1首先java程序的运行你需要下载和安装JDK,这是java运行的必备环境2在桌面上找到eclipes,

2024-05-16 17:08:57
我的世界用scratch如何制作?
我的世界用scratch如何制作?

我的世界用scratch如何制作?Scratch是专为儿童开发的编程语言,用于拓展他们的思维。今天,我将分享如何在Scratch中创建我的世界的制作方法。1.打开浏览器,在搜索栏中输入“Scratch在线编辑器”进行搜索,并点击前往它的官网。2.在Scratch在线编辑器网站中,会自动出现切换语言的选择框,选择简体中文。3.设置好语言后,就可以开始编程了。开始你的我的世界编程

2024-01-05 06:08:40
java中有类似PHP中的ord的函数吗 java中怎么实现
java中有类似PHP中的ord的函数吗 java中怎么实现

php问题……php截取字符串几个实用的函数1.substr(源字符串,其实位置[,长度])-截取字符串返回部分字符串&lt;?php$str="phpddt.com";echosubstr($str,2);//pddt.comechosubstr($str,2,3);//pddechosubstr($str,-2);//om负数从结尾开始取?&gt;但是当你截取中文字符串的时候很

2024-09-28 09:29:42
如何才能用 Python 精心制作一款游戏?
如何才能用 Python 精心制作一款游戏?

如何才能用Python精心制作一款游戏?要用Python制作一款游戏,你需要遵循以下步骤:1.学习Python基础知识:首先,你需要掌握Python的基本语法和概念,例如变量、数据类型、条件语句、循环、函数等。这将帮助你更好地理解游戏的逻辑和实现。2.选择一个游戏引擎:有许多Python游戏引擎可供选择,如Pygame、Panda3D、Godot等。这些引擎可以帮助你快速地创

2024-02-04 15:22:53
如何利用Python制作exe文件[适合初学者]
如何利用Python制作exe文件[适合初学者]

如何利用Python制作exe文件[适合初学者]如何在Python中为初学者开始exe文件?exe是可在Windows环境中使用的可执行文件的扩展名,下面我们使用pyinstaller来制作exe,请看一下详细内容。在此之前,我们首先要对Python熟悉掌握。【推荐教程:Python视频教程】一:什么是exe?exe是Windows环境中的文件扩展名之一,它是一个可执行文件,虽

2023-12-20 11:51:05
php如何传递类参数
php如何传递类参数

php如何传递类参数PHP类中,可能有多个属性参数。当使用new创建一个对象的时候,可能需要完成初始化操作,需要从外边传递参数进来。下面演示具体过程:&lt;?phpclass Test { //定义私有变量name ,age private $name, $age; //构造函数,初始化的时候最先执行 public function __construct($name, $age

2024-07-19 13:51:24
为什么类里要有const函数,const函数在类里有什么作用?
为什么类里要有const函数,const函数在类里有什么作用?

php中const和define的区别define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)宏的语法为:#define宏名称宏值作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母。利用宏的优点:1)让代码更简洁明了当然,这有赖于你为宏取一个适当的名字。一

2024-11-25 21:12:30
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍
Python布尔类型和强制类型转换是什么?Python布尔类型和强制类型转换介绍

在python中,bool表示的数据类型是bool表示的数据类型是布尔型,即逻辑型,它的数值是True或False,即真或假,两者中的一个。例如:print(10&gt;9)输出结果是Trueprint(10==9)输出结果是Falseprint(10&lt;9)输出结果是Falsepython06-布尔表达式(bool)本篇主要讲的是布尔表达式基本操作,对于布尔值来说

2023-12-18 13:40:53