
(1).安装tp6
(2).安装定时任务composer包
(3).创建命令行处理类文件
会生成文件:tp\app\command\Task.php
将Task.php文件内容修改如下:
(4).配置tp\config\console.php文件
(5).执行命令(windows请使用cmd):
一般来说,PHP是作为网站脚本语言进行运行的,也就是客户端请求服务器网关后,由CGI程序调用PHP来解析代码并执行,然后将执行结果发送给用户。一般是这种模式。上面这种模式意味着,没有用户请求,就不会执行PHP代码,也就无法“定时提醒”。
要实现“定时提醒”功能,就要保证让PHP一直处于运行状态(当然,通过 *** 作系统去设置定时任务也行,但是那就与PHP无关了)(或者,将脚本超时时间去掉,然后让PHP代码进入一个“死循环”,不过这种方式非常不好,不建议)。
网上有一些比较成熟的框架,比如我比较喜欢的workerman,你可以将PHP程序做成一个守护进程服务,这样就能保持PHP一直处于运行状态,到时间了,就自动调用一个函数执行一段代码就行,一般是通过Websocket通知用户(如果目标用户浏览器允许使用HTML5的话)。
计时器的运用在网页制作中很普遍,其实计时器有很多做法,PHP加JS、JS加AJAX也可以控制实现。不是PHP可以单独实现的,因为PHP是实现服务端的语言,没有办法去控制。以下实例就是制作计时器的代码:
<SCRIPT language=JAVASCRIPT>var timerID = null
var timerRunning = false
function stopclock()
{
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function startclock()
{
stopclock()
showtime()
}
function showtime()
{
var now = new Date()
var hours = now.getHours()
var minutes = now.getMinutes()
var seconds = now.getSeconds()
var timeValue = "" +hours
//定时初始化数据库的代码:
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
document.Calc.time.value = timeValue
// you could replace the above with this
// and have a clock on the status bar:
// window.status = timeValue
timerID = setTimeout("showtime()",1000)
timerRunning = true
return ''
}</script>
客服端PHP+HTML代码:
<html>
< head>
< META HTTP-EQUIV="Refresh" Content="1URL=test.php">
< /head>
< body>
< ?
echo date("Y年m月d日 H时i分s秒")
?>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)