关于PHP定时发送服务的解决办法
发布时间 - 2026-01-11 00:47:23 点击率:次一、定时发送任务解析

在进行手机APP或者微信开发的时候,经常会有需要定时推送消息的场景。
定时发送又分为两种:
一种是在开发的时候固定时间,后台管理人员只能选择将要推送的消息;
另一种是后台管理人员可以自由选择推送的时间和消息;
二、解决方案
PHP本身是不支持定时发送的,因为PHP是一个脚本语言。在大多数情况下,浏览器关闭,PHP也就不执行了。大部分情况下都依赖于外部的一些小东西。
1、固定时间
大多数服务器系统都是windows或linux。
linux:使用CronTab定时执行php
首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:
crontab -e
之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:
00 * * * * lynx -dump https://www.yourdomain.com/script.php
这是什么意思呢?实际上上面这一行由两部分组成,前面一部分是时间,后面一部分是操作内容。例如上面这个,
00 * * * *
就是指当当前时间的分钟数为00时,执行该定时任务。时间部分由5个时间参数组成,分别是:
分 时 日 月 周
第1列表示分钟1~59 每分钟用或者 */1表示,/n表示每n分钟,例如*/8就是每8分钟的意思,下面也是类推
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
整个句子的后面部分就是操作的具体内容。
lynx -dump https://www.yourdomain.com/script.php
意思就是说通过lynx访问这个url。我们在使用中主要用到lynx、curl、wget来实现对url的远程访问,而如果要提高效率,直接用php去执行本地php文件是最佳选择,例如:
00 */2 * * * /usr/local/bin/php /home/www/script.php
这条语句就可以在每2小时的0分钟,通过linux内部php环境执行script.php,注意,这里可不是通过url访问,通过服务器环境来执行哦,而是直接执行,因为绕过了服务器环境,所以效率当然要 高很多。
好了,已经添加了几条需要的定时任务了吧。点击键盘上的Esc键,输入“:wq”回车,这样就保存了设置的定时任务,屏幕上也能看到提示创建了新的定时任务。接下来就是好好写你的script.php 了。
windows:
windows上和linux上有一个类似的cmd和bat文件,bat文件类似于shell文件,执行这个bat文件,就相当于依次执行里面的命令(当然,还可以通过逻辑来实现编程),所以,我们可以利用bat命 令文件在windows服务器上面实现PHP定时任务。实际上在windows上定时任务,和linux上道理是一样的,只不过方法和途径不同。好了下面开始。
首先,在一个你觉得比较适当的位置创建一个cron.bat文件,然后用文本编辑器打开它(记事本都可以),在里面写上这样的内容:
D:\php\php.exe -q D:\website\test.php
这句话的意思就是,使用php.exe去执行test.php这个php文件,和上面的contab一样,绕过了服务器环境,执行效率也比较高。写好之后,点击保存,关闭编辑器。
接下来就是设置定时任务来运行cron.bat。依次打开:“开始–>控制面板–>任务计划–>添加任务计划”,在打开的界面中设置定时任务的时间、密码,通过选择,把cron.bat挂载进去。确定,这样 一个定时任务就建立好了,在这个定时任务上右键,运行,这个定时任务就开始执行了,到点时,就会运行cron.bat处理,cron.bat再去执行php。
2、自由选择时间
常用的博客系统wordpress有一个wp-corn文件来执行博客的定时发送,博主以wp-corn为原型编写了一个文件。
wp-corn是非常消耗服务器资源的一个策略。每个人访问博客的时候都会调用wp-corn文件(读取当前服务器时间,判断是否发送)。缺陷是在访问人数比较小的时候不能及时发送,人数过多又造成服务器性能降低。
博主做项目的时候公司提供的是一台windows服务器。采用的方法是在服务器上打开一个页面,每分钟自动刷新一次(简单的js脚本,不再提供代码)。
以上所述是小编给大家介绍的关于PHP定时发送服务的解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# php定时发送服务
# php
# 定时发送
# 使用PHP免费发送定时短信的实例
# Linux服务器下PHPMailer发送邮件失败的问题解决
# php mailer类调用远程SMTP服务器发送邮件实现方法
# jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
# phpmailer在服务器上不能正常发送邮件的解决办法
# php输入流php://input使用示例(php发送图片流到服务器)
# 是在
# 好了
# 就会
# 命令行
# 来实现
# 编辑器
# 每分钟
# 小编
# 这一行
# 就可以
# 博客
# 自由选择
# 的是
# 都是
# 是一个
# 这是
# 会有
# 在这个
# 还可以
# 在此
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站制作报价单模板图片,小松挖机官方网站报价?
Linux系统运维自动化项目教程_Ansible批量管理实战
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何在云指建站中生成FTP站点?
怎么用AI帮你为初创公司进行市场定位分析?
Laravel API资源类怎么用_Laravel API Resource数据转换
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
海南网站制作公司有哪些,海口网是哪家的?
微信小程序 canvas开发实例及注意事项
Laravel如何实现API版本控制_Laravel版本化API设计方案
香港服务器如何优化才能显著提升网站加载速度?
用yum安装MySQLdb模块的步骤方法
Laravel观察者模式如何使用_Laravel Model Observer配置
iOS正则表达式验证手机号、邮箱、身份证号等
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
高端网站建设与定制开发一站式解决方案 中企动力
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
教你用AI将一段旋律扩展成一首完整的曲子
Python函数文档自动校验_规范解析【教程】
nginx修改上传文件大小限制的方法
js代码实现下拉菜单【推荐】
制作旅游网站html,怎样注册旅游网站?
如何在阿里云ECS服务器部署织梦CMS网站?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑
如何快速生成专业多端适配建站电话?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
如何快速重置建站主机并恢复默认配置?
JavaScript Ajax实现异步通信
郑州企业网站制作公司,郑州招聘网站有哪些?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
如何在宝塔面板中创建新站点?
Angular 表单中正确绑定输入值以确保提交与验证正常工作
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
原生JS获取元素集合的子元素宽度实例
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何彻底卸载建站之星软件?
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
高性价比服务器租赁——企业级配置与24小时运维服务
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
大连网站制作公司哪家好一点,大连买房网站哪个好?

