Queue::push 无法找到 Class
Queue::push Unable to find Class
- Laravel 版本:5.1.46 (LTS)
- PHP 版本:PHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS )
描述:
使用 Queue::push
让我的生产服务器有些头疼:
$data = [
'server' => $server,
'week' => '201427'
];
Queue::push('\Cleanse\MyPluginName\Classes\Jobs\MyQueueClass', $data);
exception 'ReflectionException'
with message 'Class \Cleanse\MyPluginName\Classes\Jobs\MyQueueClass does not exist'
in /october/vendor/laravel/framework/src/Illuminate/Container/Container.php:741
它在我开发的本地 Mac 服务器上工作正常,但在上传到我的实时服务器后,出现上述错误。
我也尝试过使用闭包,但我得到:
Queue::push(function($job) use ($data) {
$crawl = new RankingsUpdate();
$crawl->updateWeek($data);
$job->delete();
});
[2017-05-30 02:41:33] production.ERROR:
Symfony\Component\Debug\Exception\FatalThrowableError:
Class 'Cleanse\MyPluginName\Classes\CategoryDir\CategoryClass' not found in
/var/www/html/vendor/jeremeamia/SuperClosure/src/SerializableClosure.php(210) : eval()'d code:8
会不会是PHP版本问题?它适用于我的 MB Air,它是 运行 PHP 7.0.11 (cli)(内置:2016 年 9 月 23 日 20:33:19)(NTS)
这是一个常见的陷阱,请确保您的文件夹名称是小写的。一些操作系统区分大小写。
例如 class \Cleanse\MyPluginName\Classes\Jobs\MyQueueClass
应该存储在名为 plugins/cleanse/mypluginname/classes/jobs/MyQueueClass.php
.
的文件中
- Laravel 版本:5.1.46 (LTS)
- PHP 版本:PHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS )
描述:
使用 Queue::push
让我的生产服务器有些头疼:
$data = [
'server' => $server,
'week' => '201427'
];
Queue::push('\Cleanse\MyPluginName\Classes\Jobs\MyQueueClass', $data);
exception 'ReflectionException' with message 'Class \Cleanse\MyPluginName\Classes\Jobs\MyQueueClass does not exist' in /october/vendor/laravel/framework/src/Illuminate/Container/Container.php:741
它在我开发的本地 Mac 服务器上工作正常,但在上传到我的实时服务器后,出现上述错误。
我也尝试过使用闭包,但我得到:
Queue::push(function($job) use ($data) {
$crawl = new RankingsUpdate();
$crawl->updateWeek($data);
$job->delete();
});
[2017-05-30 02:41:33] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Class 'Cleanse\MyPluginName\Classes\CategoryDir\CategoryClass' not found in /var/www/html/vendor/jeremeamia/SuperClosure/src/SerializableClosure.php(210) : eval()'d code:8
会不会是PHP版本问题?它适用于我的 MB Air,它是 运行 PHP 7.0.11 (cli)(内置:2016 年 9 月 23 日 20:33:19)(NTS)
这是一个常见的陷阱,请确保您的文件夹名称是小写的。一些操作系统区分大小写。
例如 class \Cleanse\MyPluginName\Classes\Jobs\MyQueueClass
应该存储在名为 plugins/cleanse/mypluginname/classes/jobs/MyQueueClass.php
.