分类目录归档:Laravel

laravel出现Too Many Attempts 报错解决方法

这是因为Laravel从5.2开始,增加了一个Throttle的中间件。在app/Http/Kernel.php文件,你就会发现,api路由是默认使用了这个中间件的。
这个中间件的作用是限制同一个Ip访问同一个Api的访问次数,模式是1分钟内只能访问60次,超过60次,则会返回Too Many Attempts 429状态。需要等待1分钟后才可以访问
修改方法:打开app/Http/Kernel.php文件 修改访问次数

 /**
     * The application's route middleware groups.
     *
     * @var array
     */
    protected $middlewareGroups = [
        'web' => [
            EncryptCookies::class,
            AddQueuedCookiesToResponse::class,
            StartSession::class,
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
            ShareErrorsFromSession::class,
            VerifyCsrfToken::class,
            SubstituteBindings::class,
        ],

        'api' => [
            'throttle:800,1', // 默认是1分钟60次,这里修改大一点
            'bindings',
        ],
    ];

composer 设置阿里云镜像源

composer 更换到阿里云镜像源快到飞起。官网地址

全局配置(推荐)

所有项目都会使用该镜像地址:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config -g --unset repos.packagist

项目配置

仅修改当前工程配置,仅当前工程可使用该镜像地址:

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

取消配置:

composer config --unset repos.packagist

调试

composer 命令增加 -vvv 可输出详细的信息,命令如下:

composer -vvv require alibabacloud/sdk

遇到问题?

  1. 建议先将Composer版本升级到最新:
    composer self-update
  2. 执行诊断命令:
    composer diagnose
  3. 清除缓存:
    composer clear
  4. 若项目之前已通过其他源安装,则需要更新 composer.lock 文件,执行命令:
    composer update --lock