php - 使用 Crontab 配置 Laravel 任务调度

标签 php laravel laravel-5 cron laravel-artisan

我已经创建了一个 laravel 任务并添加到我的 crontab 文件中


app/Console/Kernel.php

<?php

namespace App\Console;

use Carbon;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        \App\Console\Commands\Inspire::class,
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
        $now = Carbon\Carbon::now('America/New_York');
        $dt = Carbon\Carbon::parse($now);
        $time_start = $dt->toTimeString();
        $dt = str_replace('-','_',$dt);
        $dt = str_replace(' ','_',$dt);
        $dt = str_replace('/',':',$dt);
        $schedule->exec('curl '.env('APP_URL').'fbwifi/acl_update')->everyMinute()
            ->sendOutputTo(public_path().'/tasks/log_'.$dt.'.txt');
    }
}

crontab 文件

*       *       *       *       *       /usr/local/bin/php artisan schedule:run
*       *       *       *       *       php artisan schedule:run

结果

由于某些原因,我的 crontab 没有触发。

5 分钟后,我没有在我的 public/tasks/ 文件夹中看到任何生成的内容。

我什至试图将完整路径放入我的 php

我错过了什么吗?如何调试它?

最佳答案

在您的 crontab 中,您需要将路径设置为指向项目根目录中的 artisan 文件。

* * * * * php/path/to/project/artisan schedule:run

如果您无法找到项目路由的绝对路径,请打开终端,cd 进入项目的路由目录,然后使用 pwd 命令,这将给你绝对目录。

例如:

$ cd MyUser/dev/project
$ pwd

会输出类似的东西

/Users/MyUser/dev/project

那么你的 cronjob 看起来像

* * * * * php/Users/MyUser/dev/project/artisan schedule:run

同时尝试重新启动您的 cron 守护程序。我发现有时当事情不适合我时,这会有所帮助。

关于php - 使用 Crontab 配置 Laravel 任务调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40308143/

相关文章:

php - 如何使用 PHP 从 JPEG 创建视网膜图像

authentication - 向 Laravel 的授权用户添加更多信息

php - Laravel 没有将 Auth::id 插入表中

php - laravel 在单击按钮时写入 mysql 数据库

php - RouteCollection.php 第 218 行中的 MethodNotAllowedHttpException

php - 如何解决 Google 日历的链接重定向通知?

php - 使用 PayPal 即时付款通知时使用 PHP 获取自定义变量的值

php - 通过相关性(模糊,同义词)进行 mySQL 搜索

php - Laravel 5 - 如何检查用户名和密码是否与表匹配?

laravel - 如何在 Laravel 中获取模型关系?