Laravel Logging to Slack Workbook causes “Curl error (code 3): <url> malformed”

北城以北 提交于 2019-12-23 03:31:04

问题


I just set up a webhook in Slack to send logging to from my Laravel app.

When the log line executes, this error pops up:

RuntimeException
Curl error (code 3): <url> malformed

Source:

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;
    }
}

The log line:

Log::channel('slack')->info('hi');

Configuration is like this:

    'slack' => [
        'driver' => 'slack',
        'url' => env('https://hooks.slack.com/services/TC3S00PFC/BC411TH4M/YXAu...'),
        'username' => 'app',
        'emoji' => ':boom:',
        'level' => 'info',
    ],

I tried with a different webhook url, username. Curl is activated in php. No other clue...


回答1:


env() will return null if the string is not defined in .env so you're just setting url to null. Perhaps you meant to do something like

'url' => 'https://hooks.slack.com/services/TC3S00...'

Or

'url' => env(SLACK_URL, 'https://hooks.slack.com/services/TC3S00...')

(and have an entry in .env for SLACK_URL)



来源:https://stackoverflow.com/questions/51718111/laravel-logging-to-slack-workbook-causes-curl-error-code-3-url-malformed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!