【发布时间】:2017-01-03 14:27:14
【问题描述】:
当我运行命令php artisan schedule:run 时,它运行良好。但是,当我将命令放入调度程序时如下:
* * * * * php /PATH/TO/PROJECT/artisan schedule:run >> /PATH/TO/PROJECT/storage/logs/scheduler.log 2>&1
每次运行时都会出现以下错误。
PHP Fatal error: Uncaught ReflectionException: Class log does not exist ...
This question 表明这是因为在引导过程的早期发生了错误,并尝试在注册记录器之前记录错误。
我似乎不知道从哪里开始调试,因为这是我得到的唯一调用堆栈:
PHP Fatal error: Uncaught ReflectionException: Class log does not exist in /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php:734
Stack trace:
#0 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php(734): ReflectionClass->__construct('log')
#1 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('log', Array)
#2 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('log', Array)
#3 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php(849): Illuminate\Foundation\Application->make('log')
#4 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php(804): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#5 /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php(773): Illuminate\Container\Container in /PATH/TO/PROJECT/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 734
我怀疑它可能与权限有关,但是 crontab 与手动运行它的同一用户绑定。造成原始错误的原因是什么?
【问题讨论】:
-
您是否尝试手动运行“php artisan schedule:run”(不使用 CRON)?你得到同样的错误吗? |编辑:也可能相关stackoverflow.com/a/34992628/3551175
-
我在原始帖子中链接到该问题。异常可能是由不同的错误引起的,这些错误触发框架尝试记录它,因为 Laravel Log 类已注册。
标签: php linux laravel cron centos