在 hPane 上运行 Laravel 任务调度(Hostinger - Cron Job)

问题描述 投票:0回答:2

as Running The Scheduler 说我必须运行这个命令:

* * * * * cd /home/u285707107/domains/dmn.com/ && php artisan schedule:run >> /dev/null 2>&1

但是在 hPanel Cron Job-s 中我不能使用特殊字符,所以我创建了 cron.sh 文件 他们说

#!/bin/sh
/home/u285707107/domains/dmn.com/ && php artisan schedule:run > /dev/null 2>&1

在 Hostinger Cron Job 中我运行命令:

/bin/sh /home/u00000000/domains/dmn.com/public_html/dmn/app/Console/cron.sh

但它不起作用:( (

我的Kernel.php文件是:

<?php

namespace App\Console;

use App\Models\Proview;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    protected function schedule(Schedule $schedule){
        $schedule->call(function () {
            Proview::query()->update(['today' => 0]);
        })->everyMinute();
    }

    protected function commands(){
        $this->load(__DIR__.'/Commands');
        require base_path('routes/console.php');
    }
}

有人可以帮助我吗?

laravel cron scheduler
2个回答
0
投票

只需将以下脚本替换为您的即可。

cron.sh

#!/bin/sh
cd /home/u285707107/domains/dmn.com && php artisan schedule:run >> /dev/null 2>&1

Hostinger Cron 作业

* * * * *   /bin/sh /home/u285707107/domains/dmn.com/public_html/dmn/app/Console/cron.sh

0
投票

为此您不需要 bash 文件,只需创建一个 php 脚本文件 (.php) 并使用类型“php”设置 cron 作业

剧本应该是:

<?php
chdir('/path-to-your-project'); // cd /path-to-your-project
exec('php artisan schedule:run >> /dev/null 2>&1'); // execute php artisan schedule:run >> /dev/null 2>&1 in powershell

对于 cron 作业

© www.soinside.com 2019 - 2024. All rights reserved.