php 即使客户端或者服务器断开(如关掉浏览器)脚本也可以继续执行

简介:
<?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);
}
?>

  

目录
相关文章
|
11月前
|
网络协议 Shell PHP
简单的php版本nacos客户端
这是一个简单的 PHP 版本 Nacos 客户端,支持服务注册、配置发布、服务发现等功能。通过 Composer 安装,提供服务端与客户端示例代码,可快速集成至项目中。适用于基于 Nacos 的微服务架构开发,帮助实现服务治理与配置管理。
380 10
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
577 20
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
610 0
|
自然语言处理 编译器 应用服务中间件
PHP在服务器上的运行过程
PHP在服务器上的运行过程
344 7
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
407 3
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
1184 3
|
PHP 开发者
PHP作为一门流行的服务器端脚本语言,深入理解PHP的命名空间
【10月更文挑战第22天】PHP作为一门流行的服务器端脚本语言,自1995年诞生以来,已经发展了二十多年。在这二十多年的时间里,PHP经历了多次重大版本的更新,不断增加新特性和改进。其中,命名空间(Namespace)是PHP 5.3.0引入的一个重要特性,它为PHP的代码组织和重用提供了一种新的方式。本文将从三个部分深入理解PHP的命名空间:一是命名空间的基本概念和作用;二是PHP命名空间的使用方法;三是通过实例讲解命名空间的应用。
200 4
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
247 3