php 实现setinterval
在 PHP 中实现类似 JavaScript 的 setInterval 功能,可以通过循环结合 sleep 或定时任务实现。以下是几种常见方法:

使用 sleep 函数实现循环执行
function setInterval($callback, $seconds) {
while (true) {
$callback();
sleep($seconds);
}
}
// 示例用法
setInterval(function() {
echo "执行任务\n";
}, 2); // 每2秒执行一次
使用 ignore_user_abort 实现后台持续运行
ignore_user_abort(true); // 脚本在客户端断开后继续运行
set_time_limit(0); // 取消脚本执行时间限制
$interval = 5; // 间隔秒数
do {
// 执行任务逻辑
file_put_contents('log.txt', date('Y-m-d H:i:s') . "\n", FILE_APPEND);
sleep($interval);
} while (true);
通过 cron 定时任务实现
在 Linux 系统中使用 crontab 设置定时任务:

* * * * * /usr/bin/php /path/to/your/script.php
脚本内容:
// script.php
file_put_contents('log.txt', date('Y-m-d H:i:s') . "\n", FILE_APPEND);
使用 pcntl_fork 创建子进程
$pid = pcntl_fork();
if ($pid == -1) {
die('无法创建子进程');
} elseif ($pid) {
// 父进程
exit();
} else {
// 子进程
while (true) {
// 执行任务
file_put_contents('log.txt', date('Y-m-d H:i:s') . "\n", FILE_APPEND);
sleep(5);
}
}
注意:PHP 是服务器端脚本语言,与 JavaScript 的运行环境不同,这些方法各有适用场景:
sleep方法会阻塞当前进程- cron 适合周期性后台任务
- pcntl 扩展需要服务器支持






