Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel Nexmo无效签名_Php_Laravel_Cron_Nexmo - Fatal编程技术网

Php Laravel Nexmo无效签名

Php Laravel Nexmo无效签名,php,laravel,cron,nexmo,Php,Laravel,Cron,Nexmo,我有通过Nexmo客户端发送短信通知的方法: try { $client = new Client(new SignatureSecret($nexmoKey, $signatureSecret, 'md5hash')); $message = $client->message()->send( [ 'to' => $this->userNumber,

我有通过Nexmo客户端发送短信通知的方法:

 try {
        $client = new Client(new SignatureSecret($nexmoKey, $signatureSecret, 'md5hash'));
        $message = $client->message()->send(
            [
                'to' => $this->userNumber,
                'from' => $from,
                'text' => $this->notificationMessage,
                'callback' => $webhookReceiveURL,
            ]
        );
        $response = $message->getResponseData();
        $this->notificationId = $response['messages'][0]['message-id'];

        return true;
    } catch (\Exception $e) {
        $this->exceptions[] = $e->getMessage();

        return false;
    }

如果我把这段代码放在一个服务类中,其中handle()方法是通过crontab在Laravel的命令中调用的,那么我会得到:Invalid Signature error,但如果我从任何控制器方法调用此方法,则通知会成功发送。有人能解释一下,如果我试图通过crontab发送通知,为什么会出错吗?

如果相同的代码在控制器中工作,听起来好像配置设置没有正确地传递到作业中。我会确保
$nexmoKey
$signatureSecret
在工作中看起来是正确的


另外,我们还通过
nexmo/Laravel
()提供了一个Laravel插件,它通过服务容器和Facade层提供对nexmo对象的访问。这可能有助于减少制作Nexmo对象的样板文件。

起初我也有同样的想法,但后来我尝试重复这些想法,结果都是正确的。在那之后,我试图硬编码,但得到了同样的错误。