laravel-5 - Laravel Scheduler 无法在 Dreamhost VPS 中工作

标签 laravel-5 cron dreamhost

enter image description here

Laravel 调度程序在 Dreamhost VPS 中不起作用。

Dreamhost 有一个限制,不允许每分钟调用一次,所以我改为在 10 分钟调用一次。但是,调度程序在任何情况下都不会触发。

我尝试了以下 cron 命令:

php ~/site.com/artisan schedule:run >> /dev/null 2>&1

cd / site.com && php artisan schedule:run >> /dev/null 2>&1

但是两者都不起作用。

这是我的 kernel.php 中的内容

protected $commands = [
    'App\Console\Commands\DailyStatus',
];

/**
 * Define the application's command schedule.
 *
 * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
 * @return void
 */
protected function schedule(Schedule $schedule)
{

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->dailyAt('6:50');

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->daily()
        ->between('12:00','12:30')
        ->appendOutputTo(public_path().'status_daily_output.log')
        ->withoutOverlapping(60);

    $schedule->command('status:daily')
        ->timezone('Asia/Manila')
        ->dailyAt('12:15')
        ->appendOutputTo(public_path().'status_daily_at_output.log')
        ->withoutOverlapping(60);
}

日志也没有生成。我已经输入了一些 echo 命令,但它没有触发。

如何测试我的调度程序是否配置正确?

有人可以帮我修复当前的设置吗?

谢谢。

最佳答案

因此,经过多次测试,我设法让它发挥作用。

  1. 确保您的帐户可以执行该命令

     crontab -e
    

    如果不能,请联系 Dreamhost 支持人员修复权限。

  2. 对于您的 cron 命令,您需要指定 php 的确切位置

    cd ~/site.com  && /usr/local/php72/bin/php artisan schedule:run >> /dev/null 2>&1
    
  3. 由于 Dreamhost 不允许每隔一分钟执行一次,因此我建议改为每 10 分钟执行一次。

希望这会有所帮助!

关于laravel-5 - Laravel Scheduler 无法在 Dreamhost VPS 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56800970/

相关文章:

分页不适用于 POST Action laravel 5

Laravel 5 运行队列

php - 在 Laravel 5 中,为什么在 phpunit 测试期间调用 Request::root() 不同?

Python/Linux 定时任务

php - Laravel 5 Collection 的大规模更新

PHP Cron 作业不执行

ruby-on-rails - Ruby on Rails - 如何在本地设置 cron

ruby-on-rails-3 - 让 Rails 在生产中显示开发风格错误

git - 将 Github repo 同步到 Dreamhost 站点

c# - 如何通过 SSH.NET 在远程服务器上运行 mysqldump 而不会出现密码警告?