修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php这个文件就可以了,修改的地方见下图: 总结 归根到底,是因为yii2在渲染网页的时候,会先输出js验证代码,然后再显示验证码图片,也就是说,验证码必须在输出js代码前就要重新生成,而CaptchaAction.php中的run()方法是显示验证码图片的时候调用的,CaptchaValidator.php中的clientValidateAttribute()是输出js代码的时候调用的,所以接下来的道…