本文详解如何通过 launchd(配合 .plist 配置文件)在 macos 上精准实现每 60 秒自动运行一个 php 脚本,替代传统 cron,兼顾稳定性、用户会话感知与系统级管理能力。 本文详解如何通过 launchd(配合 .plist 配置文件)在 macos 上精准实现每 60 秒自动运行一个 php 脚本,替代传统 cron,兼顾稳定性、用户会话感知与系统级管理能力。在 macOS 中,launchd 是官方推荐的守护进程管理机制,比 cron 更可靠、更安全,尤其适合需要与用户登录会话绑定的定时任务(如本地开发环境中的轮询、缓存刷新或轻量级队列处理)。要让一个 PHP 脚本每分钟执行一次,关键在于编写符合规范的 LaunchAgent plist 文件,并正确加载与调试。? 步骤一:创建标准 LaunchAgent plist 文件将以下内容保存为 ~/Library/LaunchAgents/com.yourname.php-minutely.plist(请将 yourname 替换为你的用户名或项目标识,确保命名符合反向域名格式):<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>Label</key> <string>com.yourname.php-minutely</string> <key>ProgramArguments</key> <array> <string>/usr/bin/php</string> <string>/Users/yourname/projects/myapp/scripts/sync.php</string> </array> <key>WorkingDirectory</key> <string>/Users/yourname/projects/myapp</string> <key>StartInterval</key> <integer>60</integer> <key>RunAtLoad</key> <true/> <!-- 可选:仅调试时启用,上线前务必注释 --> <!-- <key>StandardOutPath</key> <string>/tmp/php-minutely.log</string> <key>StandardErrorPath</key> <string>/tmp/php-minutely.err</string> --> </dict></plist>?? 重要说明:ProgramArguments 中必须使用 绝对路径:/usr/bin/php(macOS 自带)或 which php 输出的实际路径(如 /opt/homebrew/bin/php);PHP 脚本路径也需绝对化。WorkingDirectory 应设为脚本依赖的根目录(例如含 vendor/ 或配置文件),避免因工作路径错误导致 require 失败或相对路径解析异常。StartInterval 60 表示固定间隔执行(从上一次执行结束开始计时),非"整点触发"。若需严格按系统时间对齐(如每分钟第 0 秒启动),应改用 StartCalendarInterval(但本场景不推荐,因其复杂度高且易受延迟影响)。? 步骤二:设置权限并加载服务执行以下命令确保 plist 文件权限合规(644 是 launchd 强制要求):立即学习"PHP免费学习笔记(深入)"; Tellers AI Tellers是一款自动视频编辑工具,可以将文本、文章或故事转换为视频。
相关推荐
姜鱼问生10 分钟前
docker exec 排查容器问题:从日志到进程打工仔折腾 AI14 分钟前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录yi01115 分钟前
DAY24: LeetCode 167:两数之和 II|从暴力枚举到左右双指针kimnoic26 分钟前
Python常用命令提示符使用方法详解狗凯之家源码网38 分钟前
AI 步数修改提交系统源码应用场景与落地指南Είναι η κοπέλα40 分钟前
模型量化完全指南:GGUF、GPTQ、AWQ 怎么选穆梓兰煊40 分钟前
AI供应链安全不再只是包安全,还涉及模型与数据yi01143 分钟前
LeetCode 15:三数之和|排序 + 双指针,如何避免重复答案?weixin199701080161 小时前
《1688消息服务落地方案:alibaba.message.* 与 Webhook 回调的可靠性与重试策略》(附Python源码)北风toto1 小时前
数据库笔记:Armstrong 公理系统与集合论的深度辨析