关于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 】
相关推荐:
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何在阿里云购买域名并搭建网站?
Laravel如何使用模型观察者?(Observer代码示例)
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
如何快速搭建FTP站点实现文件共享?
Python进程池调度策略_任务分发说明【指导】
微信小程序 五星评分(包括半颗星评分)实例代码
高防服务器租用首荐平台,企业级优惠套餐快速部署
网站制作大概多少钱一个,做一个平台网站大概多少钱?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
javascript基于原型链的继承及call和apply函数用法分析
如何在搬瓦工VPS快速搭建网站?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
教你用AI将一段旋律扩展成一首完整的曲子
微信推文制作网站有哪些,怎么做微信推文,急?
Android Socket接口实现即时通讯实例代码
如何在Windows虚拟主机上快速搭建网站?
jQuery 常见小例汇总
实例解析Array和String方法
网站建设保证美观性,需要考虑的几点问题!
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Laravel用户密码怎么加密_Laravel Hash门面使用教程
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
个人摄影网站制作流程,摄影爱好者都去什么网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
linux写shell需要注意的问题(必看)
如何快速搭建个人网站并优化SEO?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
iOS UIView常见属性方法小结
浅述节点的创建及常见功能的实现
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Laravel如何创建自定义中间件?(Middleware代码示例)
如何快速生成凡客建站的专业级图册?
*服务器网站为何频现安全漏洞?
三星网站视频制作教程下载,三星w23网页如何全屏?
简单实现jsp分页
使用C语言编写圣诞表白程序
如何在 React 中条件性地遍历数组并渲染元素
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】

