PHP定时器具体实现如何操作为长尾词?

2026-04-06 07:370阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1700个文字,预计阅读时间需要7分钟。

PHP定时器具体实现如何操作为长尾词?

目录+前言+原因+危险的做法+正确的姿势+CLI模式+总结+前言+常见的定时器有两种:一种为周期性执行,例如每天凌晨三点报告报表;另一种在指定时间后执行一次,例如员工登录时触发。

目录
  • 前言
  • 原因
  • 危险的做法
  • 正确的姿势
  • CLI模式
  • 总结

前言

常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。两种情况对应shell中的cronat命令,与JavaScript中的setIntervalsetTimeout函数类似(严格来说setInterval是周期性执行,指定时间点执行需要自行处理)。

做web开发的PHP程序员对JavaScript中的两个定时器函数应该都还熟悉,回到PHP层面就有点傻眼:PHP中有sleep,但是没有(内置)定时器函数可用。sleep函数勉强可以做到,但会导致进程阻塞,期间不能做其他事(或无响应)。为什么PHP没能提供定时器(Timer)这个功能呢?

原因

个人认为,web开发中PHP不能使用定时器的本质原因是可控 常驻内存运行环境的缺失。两个要点:第一常驻内存,第二可控。CGI模式下,进程执行完脚本后直接退出,不能指望其到指定时间运行任务;PHP-FPM模式下,进程(绝大多数)常驻内存,但不可控。

阅读全文

本文共计1700个文字,预计阅读时间需要7分钟。

PHP定时器具体实现如何操作为长尾词?

目录+前言+原因+危险的做法+正确的姿势+CLI模式+总结+前言+常见的定时器有两种:一种为周期性执行,例如每天凌晨三点报告报表;另一种在指定时间后执行一次,例如员工登录时触发。

目录
  • 前言
  • 原因
  • 危险的做法
  • 正确的姿势
  • CLI模式
  • 总结

前言

常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。两种情况对应shell中的cronat命令,与JavaScript中的setIntervalsetTimeout函数类似(严格来说setInterval是周期性执行,指定时间点执行需要自行处理)。

做web开发的PHP程序员对JavaScript中的两个定时器函数应该都还熟悉,回到PHP层面就有点傻眼:PHP中有sleep,但是没有(内置)定时器函数可用。sleep函数勉强可以做到,但会导致进程阻塞,期间不能做其他事(或无响应)。为什么PHP没能提供定时器(Timer)这个功能呢?

原因

个人认为,web开发中PHP不能使用定时器的本质原因是可控 常驻内存运行环境的缺失。两个要点:第一常驻内存,第二可控。CGI模式下,进程执行完脚本后直接退出,不能指望其到指定时间运行任务;PHP-FPM模式下,进程(绝大多数)常驻内存,但不可控。

阅读全文