PHP能否自动定时执行某代码

就例如一些程序里面的计划任务那样,设置了时间后,到达那个时间,自动运行那个功能.我知道一个方法就是利用JS引用的方法,在HTML里面引入PHP文件,然后判断时间来执行,但... 就例如一些程序里面的计划任务那样,设置了时间后,到达那个时间,自动运行那个功能.

我知道一个方法就是利用JS引用的方法,在HTML里面引入PHP文件,然后判断时间来执行,但这样是需要有浏览者点开网页,才能触发那程序,我希望的是,在网站0流量的情况下,程序会自动运行,有可能吗??

我看了下sleep()函数,感觉不太合适,我需要的是设置一个时间后,例如每天8点整,程序自动运行.

我没有分,希望能帮忙解答一下..
先谢谢,那我再补充一下.如果我先触发一次,让它自己执行下去,

但会出现操作超时

Maximum execution time of 30 seconds exceeded

这个除了不限制程序的执行时间外,有别的方法解决吗??

<?php
for($i=1;$i<=25;$i++){
$lockfile = dirname(__FILE__).'/mks_art'.$i.'.lock';
$fp = fopen($lockfile,'w');
fwrite($fp,time());
fclose($fp);

sleep(2);
}
?>

我写了一个这样的程序来测试,关了浏览器也能生成文件,但到15个左右的时候,就会提示超时了.
展开
 我来答
充电草莓
推荐于2016-04-02 · TA获得超过352个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:103万
展开全部
php是需要触发执行的, 没办法长期保持执行着它, 即便你用sleep, 它仍然是需要你首先去点它一次, 它才会一直存在

方法是用计划任务, 没错就是计划任务, 无论windows/*nix都有计划任务, 你可以把php放进计划任务里, 用命令行方式执行php程序

事实上没有任何可能性在0访问的情况下让php执行, 因为php自身就是服务器端脚本解释工具, 服务器当然是有人访问才工作才对, 楼主在反其道而行, 如果你希望用php执行桌面程序, 也不是没有办法,php官方就有这种工具, 但是和php的运行方式有太多不同,所以控制方式也都不同,严格的说,只是php的语法而已

对于提问者补充的补充:
ignore_user_abort(1);
set_time_limit(0);楼主要研究下这两个
谈谈趣事
2019-01-09 · 科技领域创作者
个人认证用户
谈谈趣事
采纳数:0 获赞数:2

向TA提问 私信TA
展开全部
可以试一下在js里面写个判断,当前时间大于或者等于某个时间段去执行你php里面方法的程序。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式