Login
网站首页 > 文章中心 > 其它

真的不能再l做php任务的吗

作者:小编 更新时间:2023-08-16 16:35:48 浏览量:79人看过

php怎么做定时任务的,感谢大牛指点

写一个你需要的php业务的脚本,然后在服务器上,设置定时任务,执行这个脚本,就行了

php如何每天定时执行

php做不到每天定时执行,只有java或者c可以,因为php是不访问页面就不会动得代码,但是有一个方法可以曲线救国

你写一个页面是你要每天定时执行的页面,然后视你的操作系统而言,做定时任务,定时去访问这个页面

如果是windows请使用任务计划功能

如果是linux请使用定时任务Cron,在定时的时候使用curl来访问你那个页面.以下我只贴出linux的解决方案,因为一般服务器都是linux的,windows的大家都会

=========================linux cron 入门 ============================

Linux操作系统定时任务系统 Cron 入门

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业.由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

你也可以将这个服务在系统启动的时候自动启动:

在/etc/rc.d/rc.local这个脚本的末尾加上:

/sbin/service crond start

现在Cron这个服务已经在进程里面了,我们就可以用这个服务了,Cron服务提供以下几种接口供大家使用:

cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除没个用户的cron服务

比如说root查看自己的cron设置:crontab -u root -l

再例如,root想删除fred的cron设置:crontab -u fred -r

任务调度的crond常驻命令

crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作.

①.、linux任务调度的工作主要分为以下两类:

*系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存

*个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置.

②crontab命令选项:

-u指定一个用户,

-l列出某个用户的任务计划,

-r删除某个用户的任务,

③cron文件语法:

? ?分? ?小时? ?日? ? ? 月? ? ? 星期? ?命令

④记住几个特殊符号的含义:

? ?"*"代表取值范围内的数字,

? ?"/"代表"每",

? ?"-"代表从某个数字到某个数字,

? ?","分开几个离散的数字

第一段:任务调度设置文件的写法

具体格式如下:

? Minute Hour Day Month Dayofweek? ?command

? 分钟? ?小时? ?天? ?月? ? ? 天每星期? ? ? 命令

每个字段代表的含义如下:

Minute? ? ? ? ? 每个小时的第几分钟执行该任务

Hour? ? ? ? ? ?每天的第几个小时执行该任务

Day? ? ? ? ? ?每月的第几天执行该任务

Month? ? ? ? ? 每年的第几个月执行该任务

DayOfWeek? ?每周的第几天执行该任务

Command? ? ? 指定要执行的程序

在这些字段里,除了"Command"是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定.对于不指定的字段,要用"*"来填补其位置.

举例如下:

第二段:新增调度任务

新增调度任务可用两种方法:

? ?1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出.

第三段:查看调度任务

? ?crontab -l //列出当前的所有调度任务

? ?crontab -l -u jp? ?//列出用户jp的所有调度任务

第四段:删除任务调度工作

? ?crontab -r? ?//删除所有任务调度工作

第五段:任务调度执行结果的转向

SHELL=/bin/bash?

PATH=/sbin:/bin:/usr/sbin:/usr/bin?

MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号?

HOME=/ //使用者运行的路径,这里是根目录?

# run-parts?

01? ?*? ?*? ?*? ?*? ?root run-parts /etc/cron.hourly? ? ? ?//每小时执行/etc/cron.hourly内的脚本?

大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了

例如:? ? ? ?1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出.

php定时执行任务的几个方法

PHP定时执行的三种方式实现

具体实现

①.、windows计划任务

PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本.

②.、linux 的脚本实现

这里主要使用到crontab这个命令,

使用方式 :

复制代码 代码如下:crontab filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

说明 :

crontab是用来让使用者在固定时间或固定间隔执行程式之用

使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性

③.、PHP实现定时执行计划任务

使用php让浏览器刷新需要解决几个问题

如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行

PHP定时执行的代码:

测试的时候发现这个效率并不是很高.

总结:

个人感觉PHP定时执行任务的效率不是很高,建议关于定时执行任务的工作还是交给shell来做吧.

想要用php做一个工作任务管理系统,使用什么样的php快速开发框架好?

刚学php的话,要多翻看手册.框架的话,我觉得Yii 框架还不错.快速开发,基本上框架都可以实现,要不然也不会有框架.选择一个框架,一个是看学习曲线,是否容易上手,二是看框架的生命力,是不是有团队在维护,是否一直有持续的开发,还有就是比较主观的,看自己是不是喜欢,呵呵.

另外,oschina 上有很多开源软件,你可以多看看,里面就有很多关于php的东西.

ThinkPHP怎么做定时任务

这个功能用服务器上面的定时任务做吧,

非得用php也可以做,使用

set_time_limit(0);

ignore_user_abort(true);

写一个死循环,sleep(1),每秒执行一次,具体业务逻辑你自己写,建议这个php程序,依赖一些外部数据来维持,每执行一次,然后记录执行次数到数据库,或者文件里,每次执行读取这个执行次数记录,用来控制程序的执行个数(因为这个程序算是永久进程,除非服务器重启了),除了控制执行次数,也要增加一个文件,数据库记录,来记录一个状态,每次程序执行同时去检查这个状态,如果是1,则执行,如果是0则程序终止,并且前面的执行次数-1,.这样就可以手动结束这些永久php进程了,同时也可以写一些日志,来观察程序的运行状况

以上就是土嘎嘎小编为大家整理的真的不能再l做php任务的吗相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章