Laravel5.5验证码功能应该如何集成使用

夏杰大大_9107

夏杰大大_9107

2026-06-28

196人浏览

原创

laravel 5.5 集成 mews/captcha 需严格按序执行:先 composer require mews/captcha,再手动注册服务提供者和门面,运行 php artisan vendor:publish 生成配置,启用 gd 和 fileinfo 扩展,前端用 captcha_src() + math.random() 防缓存,验证字段名必须为 captcha,规则写 required|captcha,错误提示需手动配置中文语言包。

laravel5.5验证码功能应该如何集成使用

直接用 mews/captcha,Laravel 5.5 兼容性好、配置轻、上手快,但必须注意 PHP 扩展和配置顺序,否则会报 Class 'Mews\Captcha\CaptchaServiceProvider' not found 或图片 404。

安装与基础配置必须按顺序执行

错一步就卡住,尤其 Laravel 5.5 默认不自动发现包,composer require mews/captcha 后不能跳过手动注册。

  • 先执行 composer require mews/captcha(不要加版本号,默认拉取 ~2.0,兼容 PHP 7.1+ 和 Laravel 5.5)
  • 编辑 config/app.php:在 'providers' 数组末尾加 Mews\Captcha\CaptchaServiceProvider::class
  • 同样在 config/app.php 的 'aliases' 里加 'Captcha' => Mews\Captcha\Facades\Captcha::class
  • 再运行 php artisan vendor:publish,选 Mews\Captcha\Providers\CaptchaServiceProvider 对应的序号生成 config/captcha.php
  • Windows 环境务必确认 php_gd2.dll 和 php_fileinfo.dll 在 php.ini 中已启用(取消注释),否则 captcha_src() 返回空或 500

前端嵌入要带点击刷新 + 错误反馈闭环

captcha_src() 生成的是动态路由,但默认没加防缓存,用户点不动、重复提交失败很常见。

Laravel Creem Agent
Laravel Creem Agent

Creem 支付商店助理 — 查询订阅、客户、交易、产品,执行心跳检查,管理本地 Laravel支付商店。

下载
  • 模板中写:<img src="%7B%7B%20captcha_src('default')%20%7D%7D" onclick="this.src='{{ captcha_src('default') }}?'+Math.random()" alt="验证码">
  • 输入框 name 必须为 captcha,否则验证规则不触发(Laravel 验证器硬编码匹配该字段名)
  • 错误提示要包裹 @if ($errors->has('captcha'))<span>{{ $errors->first('captcha') }}</span>@endif,否则校验失败时 UI 没反馈
  • 别用 captcha_img() —— 它是旧版函数,5.5+ 已弃用,会报 Call to undefined function captcha_img()

后端验证规则写法有固定格式

不是所有写法都生效,captcha 规则依赖服务提供者注入的验证器扩展,字段名、规则字符串、中文提示三者必须对齐。

  • 验证数组里写:'captcha' => 'required|captcha'(注意不是 captcha:default,也不支持自定义 driver 名)
  • 如果用 $this->validate(),第二个参数就是上述规则;若用 Validator::make(),也必须传相同字段名和规则
  • 中文提示需手动加:['captcha.required' => '验证码不能为空', 'captcha.captcha' => '验证码不正确'],因为 mews/captcha 没内置语言包
  • 别在控制器里调 Captcha::check($request->captcha) —— 这个方法只返回 bool,不抛异常、不写 session,无法联动 Laravel 错误收集机制

样式定制和多主题切换靠 config/captcha.php

改完配置不生效?多半是没清配置缓存或没选对主题名。

  • 修改 config/captcha.php 里的 'default' 或新增如 'flat' 数组,调整 length、width、height、lines 等参数
  • 前端调用时传主题名:captcha_src('flat'),对应配置里键名,大小写敏感
  • 改完配置必须运行 php artisan config:clear,否则缓存旧值,图片尺寸/字符数不变
  • 字体文件缺失会导致空白图:Linux 下确保 resources/fonts 存在并有可读权限;Windows 可复制一份 arial.ttf 放进去,或在配置里指定 'font' => base_path('resources/fonts/arial.ttf')

最常被跳过的点:GD 扩展没开、config 缓存没清、字段名没叫 captcha、错误提示没手动配——这四条占了 80% 的集成失败案例。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

laravel

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

2024.04.09

857

10

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

2024.04.09

835

9

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

2024.04.09

2468

10

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.10

3861

7

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

2025.08.05

5490

22

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

2025.08.05

3656

13

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.05

6889

7

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

2026.03.04

1416

29

Laravel 框架安装指南
Laravel 框架安装指南

本指南详解 Laravel 框架安装全流程,涵盖 PHP 8.1+ 环境配置、Composer 依赖管理工具安装及国内镜像源优化。重点演示使用 composer create-project 命令创建 Laravel 10/11 项目,解决常见安装错误与依赖冲突。从环境搭建到项目初始化,助您快速完成 Laravel 开发环境部署,为后续 Web 应用开发奠定基础。适合 PHP 初学者与框架迁移开发者参考。

2026.04.09

195

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
如何安装 Composer
如何安装 Composer

共1课时 | 204人学习

Composer手册
Composer手册

共0课时 | 0人学习