thinkPHP验证码报错: Call to undefined function captcha_src()

时间:2021-12-02 06:23:12

问题出现的原因可能有:

1. captcha扩展缺失;

2. captcha扩展与当前thinkPHP版本不兼容。

thinkPHP6.0以下版本只能使用 captcha2.0以下版本,不支持2.0版本。

利用composer依赖下载

composer require topthink/think-captcha 后面添版本号

在phpStorm的命令行里输入:

composer require topthink/think-captcha v1.0.7

如果不出问题,下载完成就可以使用了。

在这里有可能会出现 pdo或者gd等扩展问题。

可以去php.ini中讲这两个扩展前面的分号去掉;重启apache就搞定,然后在命令行里重新下载captcha。

Tips:如果验证码扩展安装完成后,页面显示出了验证码只是一串字符串,没有背景、没有样式,

原因可能是文件的编码方式问题,

一般非软件创建的文本文档默认编码是ANSI;

文本文档外部打开输入保存编码是UTF-8-BOM;

而验证码扩展中要求使用无BOM的编码模式,否则会出现显示错误或无样式的情况。

解决办法:个人常用方式是phpStorm中右键选择文件,点击 remove bom

或者  Notepad++ 软件 点击编码直接进行编码切换。