PHP如何执行定时任务?


PHP如何执行定时任务,让其去执行一个文件或者是访问一个URL地址

crontab可以行。但是虚拟主机是无法进入shell的。有什么办法可以解决吗

crontab php

超爱大熊猫 9 years, 7 months ago

这个可以写一个脚本,长期执行。外层是一个while(true) ,内部判断当前是否是可执行任务的时间,如果是,则运行你的定时任务。如果否,则sleep一段时间,几秒钟到一分钟不等,视业务需求。

其实就是用轮询的方式模拟crontab而已。

阿风wind answered 9 years, 7 months ago

现在推荐使用swoole搭配任务来处理定时和异步任务,可以参见: https://github.com/osgochina/swoole-crontab

此用户已被屏蔽 answered 9 years, 7 months ago

虽然有各种奇巧淫技,不过推荐比较实际的做法,还是找一个有服务器的朋友,写一个crontab,定时访问你的一个线上地址来执行任务就行了。

WOUND answered 9 years, 7 months ago

楼上有提到swoole的常驻内存的方式,类似的yaf,workman...都不行。
因为别人是在虚拟主机,跟本不能安装swoole拓展,sae可以用yaf,没有使用过,不知道威力怎么样。
题主这样的情况,我建议还是搞个第三方的来定时访问比较好,实在不行,就用自己的电脑定时去触发你的PHP方法。

耀DMare answered 9 years, 7 months ago

Your Answer