Monolog 3 与 Slack Webhook:设置 cURL 代理环境
在发起 webhook 请求的 PHP worker 上设置环境变量,并在改编旧示例时保留 Monolog 3 的 handler 接口。
Monolog 3 的 SlackWebhookHandler 使用 PHP cURL 发送 JSON,并且不设置显式代理选项。对于 HTTPS webhook,请为该 PHP 进程提供 libcurl 的代理环境变量:
https_proxy=http://proxy.example:8080 php artisan queue:work这是 Laravel 队列 worker 的启动方式。对于 PHP-FPM Web 请求,请在 FPM worker 上下文 中提供该环境变量。在另一个终端里执行 export 不会更新已经运行的发件进程。
保留日志通道的 Slack webhook URL。HTTP 值指定的是承载 HTTPS 请求的中介;来自 HTTP 代理列表 的端点可以作为该 PHP worker 使用的公网路由候选。任何代理账户都属于受支持的代理认证安排,而不是 JSON 载荷或 Slack webhook 密钥。
在替换 handler 之前先试这条路线。接受数组记录的复制 override 属于更早的 Monolog API;Monolog 3 的 write 接受 LogRecord。
通过另一条诊断路径报告 webhook 传输失败。把失败重新发回同一个出错的 webhook 可能造成递归。