webman-php / admin

admin plugin for webman
MIT License
315 stars 31 forks source link

请教一下后台登陆验证码报错 #6

Open ximengyi opened 2 years ago

ximengyi commented 2 years ago

安装了一下webman admin的后台 但是验证码 接口报错了一直显示不出来 我的环境 php8.1.7 workman 4.1.3 admin 0.3.1

微信截图_20220925180012
ErrorException: Implicit conversion from float 21.5 to int loses precision in /home/meng/work/graduate/vendor/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilder.php:365
Stack trace:
#0 [internal function]: support\App::{closure}()
#1 /home/meng/work/graduate/vendor/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilder.php(365): imagettftext()
#2 /home/meng/work/graduate/vendor/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilder.php(459): Gregwar\Captcha\CaptchaBuilder->writePhrase()
#3 /home/meng/work/graduate/plugin/admin/app/controller/common/AccountController.php(127): Gregwar\Captcha\CaptchaBuilder->build()
#4 /home/meng/work/graduate/vendor/workerman/webman-framework/src/App.php(304): plugin\admin\app\controller\common\AccountController->captcha()
#5 /home/meng/work/graduate/plugin/admin/app/middleware/AccessControl.php(21): Webman\App::Webman\{closure}()
#6 /home/meng/work/graduate/vendor/workerman/webman-framework/src/App.php(299): plugin\admin\app\middleware\AccessControl->process()
#7 /home/meng/work/graduate/vendor/workerman/webman-framework/src/App.php(122): Webman\App::Webman\{closure}()
#8 /home/meng/work/graduate/vendor/workerman/workerman/Connection/TcpConnection.php(638): Webman\App->onMessage()
#9 /home/meng/work/graduate/vendor/workerman/workerman/Events/Select.php(311): Workerman\Connection\TcpConnection->baseRead()
#10 /home/meng/work/graduate/vendor/workerman/workerman/Worker.php(2457): Workerman\Events\Select->loop()
#11 /home/meng/work/graduate/vendor/workerman/workerman/Worker.php(1568): Workerman\Worker->run()
#12 /home/meng/work/graduate/vendor/workerman/workerman/Worker.php(1410): Workerman\Worker::forkOneWorkerForLinux()
#13 /home/meng/work/graduate/vendor/workerman/workerman/Worker.php(1384): Workerman\Worker::forkWorkersForLinux()
#14 /home/meng/work/graduate/vendor/workerman/workerman/Worker.php(559): Workerman\Worker::forkWorkers()
#15 /home/meng/work/graduate/vendor/workerman/webman-framework/src/support/App.php(124): Workerman\Worker::runAll()
#16 /home/meng/work/graduate/start.php(4): support\App::run()
#17 {main}
walkor commented 2 years ago

gregwar/captcha 不支持 8.1导致的

ximengyi commented 2 years ago

我看了一下gregwar/captcha 这个库貌似有三年已经没有再维护了,admin 后台会考虑换其他的验证码库吗

walkor commented 2 years ago

好像没看到合适的

ximengyi commented 2 years ago

好吧,多谢,可能8.1.7太新了 那我换成php7.4.30吧。

kxiangtian commented 2 years ago

这个在 验证码 创建那里 强制 转换 int 就可以解决了。我前面也碰到了。

walkor commented 2 years ago

官方fork了gregwar/captcha新建立了一个 webman/captcha 项目

从 webman/admin 0.3.3 开始使用了 webman/captcha了