Php Artisan命令给出错误';类闭包的对象无法转换为字符串';

Php Artisan命令给出错误';类闭包的对象无法转换为字符串';,php,laravel,laravel-artisan,Php,Laravel,Laravel Artisan,我想在Mac上的Laravel中使用时间表。这是我的crod文件: SHELL=/bin/bash 路径=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin *****php/Applications/MAMP/htdocs/xxxy/xxyyy/artisan计划:运行>>$run>>/dev/null 2>&1 这是Kernel.php namespace App\Console; use Illuminate

我想在Mac上的Laravel中使用
时间表
。这是我的crod文件:

SHELL=/bin/bash
路径=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin
*****php/Applications/MAMP/htdocs/xxxy/xxyyy/artisan计划:运行>>$run>>/dev/null 2>&1

这是Kernel.php

namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
protected $commands = [
     //Commands\Inspire::class,
];

protected function schedule(Schedule $schedule)
{   
    $schedule->command(function () {
        dispatch(new \App\Jobs\sendPush);
    })->everyMinute();        
}
}
使用artisan在终端中键入的任何内容都会出现以下错误:

类闭包的[ErrorException]对象无法转换为字符串

你知道如何让工匠工作吗

sendPush.php

class sendPush extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
public function __construct()
{
    //
}
public function handle(MessageController $MessageController)
{
    $MessageController->sendDefault();
}

我以前从未使用过这些,但快速浏览一下似乎会突出您的问题:

您可以在App\Console\Kernel类的schedule方法中定义所有计划任务。首先,让我们看一个调度任务的示例。在本例中,我们将安排每天午夜进行关闭。在闭包中,我们将执行数据库查询以清除表:

除了调度闭包调用,还可以调度Artisan命令和操作系统命令。例如,可以使用command方法使用命令的名称或类来计划Artisan命令:

在传递
闭包
而不是命令名称或类时,似乎需要使用
调用
方法,而不是使用
命令
方法

因此,我相信您只需将代码更新到以下内容:

protected function schedule(Schedule $schedule) {   
    $schedule->call(function () {
        dispatch(new \App\Jobs\sendPush);
    })->everyMinute();        
}

请提供更详细的错误日志,以及\App\Jobs\SendPush的代码您可以在存储器上找到错误日志文件/logs/非常感谢!现在它没有给出错误,它说
运行计划命令:Closure
,所以我认为它现在正在运行,我只是没有得到我应该得到的推送消息,但这是一个开始,再次感谢@Doe-好消息,我建议以后仔细阅读文档页面。我以前从未用过这个,但很快就找到了。如果这对您有好处,请投票并接受此答案,这样问题将被关闭:-)