php 即使客户端或者服务器断开(如关掉浏览器)脚本也可以继续执行
2024-10-18 11:01:59
<?php
ignore_user_abort(); // run script in background
set_time_limit(0); // run script forever
$interval=60*15; // do every 15 minutes...
do{
// add the script that has to be ran every 15 minutes here
// ...
sleep($interval); // wait 15 minutes
}while(true);
?>
<?php
ignore_user_abort(); // 即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去
$interval=20; // 时间间隔 单位 秒
$key_file="key.txt"; // 配置文件
if (isset($_GET['s']))
{
if ($_GET['s']=="0"){ // 停止工作,但不退出
$s="false";
echo "Function is off";
}
elseif ($_GET['s']=="1"){ // 工作
$s="true";
echo "Function is on";
}
elseif ($_GET['s']=="2"){ // 退出
$s="die";
echo "Function exited";
}
else
die("Err 0:stop working 1:working 2:exit"); $string = "<?php\n return \"".$s."\";\n?>";
write_inc($key_file,$string,true);
exit();
}
if(file_exists($key_file)){
do{
$mkey = include $key_file;
if ($mkey=="true"){ // 如果工作
///////////////////// 工作区间 //////////////////////////////////
$showtime=date("Y-m-d H:i:s");
$fp = fopen('func.txt','a');
fwrite($fp,$showtime."\n");
fclose($fp);
///////////////////////////////////////////////////////////////////
}
elseif ($mkey=="die"){ // 如果退出
die("I am dying!");
}
sleep($interval); // 等待$interval分钟
}while(true);
}
else
die($key_file." doesn't exist !");
function write_inc($path,$strings,$type=false)
{
$path=dirname(__FILE__)."/".$path;
if ($type==false)
file_put_contents($path,$strings,FILE_APPEND);
else
file_put_contents($path,$strings);
}
?>
最新文章
- tomcat启动的了,但是加载项目失败
- leetcode 187. Repeated DNA Sequences 求重复的DNA串 ---------- java
- $(document).ready()方法和window.onload区别
- 虚拟机安装Ubuntu到U盘
- IKONS – 赞!264 款手工打造的免费矢量图标
- 文件属性之setuid位
- 看懂理解 keyboard中 , navigation的设置: 切换工作区和移动窗口到不同的工作区.
- css实现红十字会图标
- [Twisted] transport和protocol解耦
- JavaScript 资源装备
- LTE发射机ACLR性能的测量技术
- [ mysql优化一 ] explain解释select语句
- python 文件打开小知识
- Spring Boot + Dubbo 可运行的例子源码-实现服务注册和远程调用
- Java类型转化报错
- 今年暑假不AC【贪心】
- 自动化运维工具sshd,expect,pssh,rsync详解
- .net framework , code first
- DWZ富客户端框架+DWZ简介及其使用+DWZ讨论组
- easyui按钮linkbutton 不可用(置灰)与 可用(取消置灰)