【问题标题】:Cant execute a simple Laravel's cron job in hosting with Cpanel无法在使用 Cpanel 托管时执行简单的 Laravel 的 cron 作业
【发布时间】:2020-08-03 14:19:10
【问题描述】:

首先,对不起我的英语,我不是母语人士。我正在学习 Laravel,但遇到了一个小问题。我无法在 Hosting with Cpanel 中执行一个非常简单的 cron 作业。我在 Kernel.php 中有这段代码:

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {       
        \Log::info('This is a log');
    })->everyMinute();
}   

我已经在 Cpanel 中启用了 Cron 作业,每隔一分钟 (* * * * *),显然有些东西正在执行,因为每一分钟我都会在日志中记录这个错误(显然不是我的文本):

[2020-04-19 18:47:26] local.ERROR: Declaration of Carbon\Translator::setLocale($locale) must be compatible 
with Symfony\Contracts\Translation\LocaleAwareInterface::setLocale(string $locale) 
{"exception":"[object] (Symfony\\Component\\ErrorHandler\\Error\\FatalError(code: 0): 
Declaration of Carbon\\Translator::setLocale($locale) must be compatible with 
Symfony\\Contracts\\Translation\\LocaleAwareInterface::setLocale(string $locale) 
at /home/grupodem/bad-conf/vendor/nesbot/carbon/src/Carbon/Translator.php:18)
[stacktrace]
#0 {main}
"}  

我想做的这个简单练习的目标就是在 Cpanel 中尝试 Cron Jobs。实际上,代码很简单,但无论如何都不起作用。 服务器的PHP版本是7.3.16,项目是Laravel 7。

提前非常感谢您!最好的祝福! 卢卡斯

【问题讨论】:

  • 这不是您的 CRON 本身的问题,它可以工作。您的代码有问题,您可以尝试更新作曲家吗?
  • 您好八重奏,感谢您的回答!我的 Laravel 安装是全新的,除了 Schedule 功能我什么都没有。嗯......我有一个“Hello world”控制器,但这只是一个愚蠢的例子。无论如何,我运行了 composer update,将所有内容上传到服务器,但仍然每分钟都会向我抛出这个错误......

标签: php laravel cron cpanel php-carbon


【解决方案1】:

这不是 cronjob 的问题。这是 laravel 的问题。

方法一: 在 composer.json 中添加 "symfony/translation": "4.3.8" 并运行 composer update

方法二: 运行 composer 需要 symfony/translation:4.3 然后运行作曲家更新

这应该可以解决您面临的问题

【讨论】:

  • 嗨,Sudharshan!谢谢回复!我试图运行您的解决方案,但我有两个错误使我认为 Laravel 7.x 与 Symfony Translation 4.3 不兼容:方法 1,我在执行 composer update 后出现此错误:- laravel/framework 7.x-dev requires symfony/http-kernel ^5.0 -> satisfiable by symfony/http-kernel[v5.0.7, 5.0.x-dev, 5.1.x-dev, v5.0.0, v5.0.0-BETA1, v5.0.0-BETA2, v5.0.0-RC1, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5, v5.0.6].(并重复 v7 .0.0、7.0.1 等)/方法 2:- symfony/translation v4.3.0 conflicts with symfony/http-kernel[v5.0.7].
  • 嗨 Lucas,您使用的是 laravel 的 beta 版本还是稳定版本?您安装了哪个确切的 laravel 版本?如果它是测试版,可能会出现问题。我认为这是您的 laravel 和 PHP 安装之间的依赖问题。这似乎是一个已知问题 - github.com/laravel/framework/issues/31893 您可以尝试上述链接中建议的步骤吗?
  • 我用composer create-project --prefer-dist laravel/laravel创建了laravel项目。项目安装版本为7.5.2。我想如果我使用--prefer-dist 应该安装最后一个稳定版本。根据 Wikipedia,最后一个稳定版本是 6.13,我真的不知道 7.5.2 是否是稳定版本。需要指出的是,我创建了一个 6.x 项目,使用 "symfony/translation": "4.3.8" 并且 cron 正确执行......所以,现在它对我来说是一个有效的解决方案,虽然它不是最正确的。无论如何,我会尝试github帖子!非常感谢!
  • 太好了。正如我所料,这是不稳定版本的问题。祝你好运!
  • 非常感谢您的宝贵时间!来自阿根廷的问候!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 2012-06-29
  • 2018-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多