我刚刚在 Slack 中设置了一个 Webhook,以从我的 Laravel 应用程序发送日志记录。
执行日志行时,弹出此错误:
RuntimeException
Curl error (code 3): <url> malformed
来源:
vendor\monolog\monolog\src\Monolog\Handler\Curl\Util.php
{
while ($retries--) {
if (curl_exec($ch) === false) {
$curlErrno = curl_errno($ch);
if (false === in_array($curlErrno, self::$retriableErrorCodes, true) || !$retries) {
$curlError = curl_error($ch);
if ($closeAfterDone) {
curl_close($ch);
}
throw new \RuntimeException(sprintf('Curl error (code %s): %s', $curlErrno, $curlError));
}
continue;
}
if ($closeAfterDone) {
curl_close($ch);
}
break;
}
}
日志行:
Log::channel('slack')->info('hi');
配置是这样的:
'slack' => [
'driver' => 'slack',
'url' => env('https://hooks.slack.com/services/TC3S00PFC/BC411TH4M/YXAu...'),
'username' => 'app',
'emoji' => ':boom:',
'level' => 'info',
],
我尝试使用不同的 webhook url、用户名。 Curl 在 php 中被激活。 没有其他线索...
env() 将返回 null,因此您只需将 url 设置为 null 即可。也许你想做类似的事情
'url' => 'https://hooks.slack.com/services/TC3S00...'
或者
'url' => env(SLACK_URL, 'https://hooks.slack.com/services/TC3S00...')
(并且在 .env 中有一个 SLACK_URL 条目)
您好,如果您不生成应用程序的密钥,您将面临这个问题
php artisan 密钥:生成