You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel用cwh发日志到CloudWatch报错:日志服务无指定版本

解决CloudWatch日志服务版本报错问题

问题诊断

报错信息:laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (Aws\\Exception\\UnresolvedApiException(code: 0): The logs service does not have version: 2014-03-28. at /var/www/vhosts/stage2.abalancingact.com/vendor/aws/aws-sdk-php/src/Api/ApiProvider.php:85)

该错误核心是当前环境的AWS SDK无法识别指定的CloudWatch Logs API版本,常见原因是库版本不兼容或配置参数错误。

修复方案

  • 修正日志配置参数
    打开Laravel的config/logging.php,找到CloudWatch日志通道的配置段,确保:

    • version参数用字符串格式设置为'2014-03-28'(避免被解析为非字符串类型);
    • service参数明确指定为'logs',不要使用错误的服务别名。
      示例配置片段:
    'cloudwatch' => [
        'driver' => 'custom',
        'via' => \Maxbanton\Cwh\Handler\CloudWatch::class,
        'sdk' => [
            'version' => '2014-03-28',
            'service' => 'logs',
            'region' => '你的AWS区域',
            'credentials' => [
                'key' => '你的AWS Access Key',
                'secret' => '你的AWS Secret Key',
            ],
        ],
        'log_group' => '你的日志组名称',
        'log_stream' => '你的日志流名称',
        'retention' => 30,
    ],
    
  • 对齐库版本兼容性
    maxbanton/cwh与AWS SDK存在版本依赖关系,执行以下命令安装兼容的版本组合:

    composer require maxbanton/cwh:^2.0
    composer update aws/aws-sdk-php --with-all-dependencies
    

    执行后确认vendor/aws/aws-sdk-php/data/logs/2014-03-28/路径下存在API定义文件,若缺失则重新执行composer install --no-dev完成依赖安装。

  • 额外排查点

    • 确认云端环境的IAM角色/用户拥有CloudWatch Logs的写入权限;
    • 检查是否有环境变量(如AWS_API_VERSION)覆盖了SDK的版本配置。

内容的提问来源于stack exchange,提问作者Eder Vásquez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:55:22