【问题标题】:Queue::push Unable to find ClassQueue::push 找不到类
【发布时间】:2017-11-01 22:08:20
【问题描述】:
  • 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);

异常“反射异常” 带有消息“类 \Cleanse\MyPluginName\Classes\Jobs\MyQueueClass 不存在” 在/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] 生产。错误: Symfony\Component\Debug\Exception\FatalThrowableError: 类 'Cleanse\MyPluginName\Classes\CategoryDir\CategoryClass' 未在 /var/www/html/vendor/jeremeamia/SuperClosure/src/SerializableClosure.php(210) : eval()'d 代码:8

会不会是 PHP 版本的问题?它适用于我的 MB Air,它运行 PHP 7.0.11 (cli)(构建时间:2016 年 9 月 23 日 20:33:19)(NTS)

【问题讨论】:

    标签: php laravel symfony octobercms


    【解决方案1】:

    这是一个常见的陷阱,请确保您的文件夹名称是小写的。某些操作系统区分大小写。

    例如,\Cleanse\MyPluginName\Classes\Jobs\MyQueueClass 类应存储在名为 plugins/cleanse/mypluginname/classes/jobs/MyQueueClass.php 的文件中。

    【讨论】:

    • 完美。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 2021-12-10
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    相关资源
    最近更新 更多