首页 > php框架 > Laravel > 正文

laravel定时任务需要用cron吗

WBOY
发布: 2022-06-02 16:42:58
原创
2169人浏览过
laravel定时任务需要用cron;laravel中想要定时执行所有的laravel任务,就需要在服务器上添加cron条目,在root文件中添加“phppath 项目路径/artisan schedule:run...”代码即可。

laravel定时任务需要用cron吗

本文操作环境:linux7.3系统、Laravel5.4版、Dell G3电脑。

laravel定时任务需要用cron吗

laravel中有一个很强大上的功能,只需要在服务器上添加一个cron条目,就可以定时执行所有的laravel任务。

现在有如下数据表:

09.png

我想让cron表中的cron字段的值每分钟增加1,那么我需要如下步骤:

1、在App\Console\Kernel.php中编写laravel代码

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {
                    DB::table('cron')->increment('cron');
                })->everyMinute();
 }
登录后复制

2、在服务的/var/spool/cron/root文件中添加代码

 注意:这里最好使用vim编辑器编辑文件,如果使用winscp编辑文件,会出现不执行任务的问题。

在命令行输入

crontab -e
登录后复制

添加如下代码

* * * * * /usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1
登录后复制

在命令行输入

crontab -u root -l
登录后复制

10.png

不需要重启cron服务,因为系统每分钟都会读一遍/var/spool/cron目录下的文件。

如果发现按照如下配置还是不能执行的话,可以用以下方法排除问题:

看一下命令有没有使用绝对路径,比如这里使用/usr/local/php/bin/php而不是php,使用/data/wwwroot/test/artisan而不是artisan。

如果已经使用了绝对路径还是不执行,那就直接在命令行输入/usr/local/php/bin/php /data/wwwroot/test/artisan schedule:run 1>> /dev/null 2>&1,看看有没有执行,如果没有执行,那就是laravel代码的问题,如果执行了说明是环境变量的问题,好好检查路径的问题。如果不知道php在什么地方,在命令行输入which php,就会提示你php安装在什么位置了。

【相关推荐:laravel视频教程

以上就是laravel定时任务需要用cron吗的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号