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个左右的时候,就会提示超时了. 展开
我知道一个方法就是利用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个左右的时候,就会提示超时了. 展开
2个回答
展开全部
php是需要触发执行的, 没办法长期保持执行着它, 即便你用sleep, 它仍然是需要你首先去点它一次, 它才会一直存在
方法是用计划任务, 没错就是计划任务, 无论windows/*nix都有计划任务, 你可以把php放进计划任务里, 用命令行方式执行php程序
事实上没有任何可能性在0访问的情况下让php执行, 因为php自身就是服务器端脚本解释工具, 服务器当然是有人访问才工作才对, 楼主在反其道而行, 如果你希望用php执行桌面程序, 也不是没有办法,php官方就有这种工具, 但是和php的运行方式有太多不同,所以控制方式也都不同,严格的说,只是php的语法而已
对于提问者补充的补充:
ignore_user_abort(1);
set_time_limit(0);楼主要研究下这两个
方法是用计划任务, 没错就是计划任务, 无论windows/*nix都有计划任务, 你可以把php放进计划任务里, 用命令行方式执行php程序
事实上没有任何可能性在0访问的情况下让php执行, 因为php自身就是服务器端脚本解释工具, 服务器当然是有人访问才工作才对, 楼主在反其道而行, 如果你希望用php执行桌面程序, 也不是没有办法,php官方就有这种工具, 但是和php的运行方式有太多不同,所以控制方式也都不同,严格的说,只是php的语法而已
对于提问者补充的补充:
ignore_user_abort(1);
set_time_limit(0);楼主要研究下这两个
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询