Symfony修改密码路由返回空白页 PassType表单不渲染如何解决
问题排查与修复方案
核心错误:PassType类无限递归
你在PassType的buildForm方法中配置RepeatedType时,错误地将type参数设置为PassType::class(当前类本身),导致表单构建时无限递归调用自身,服务器资源耗尽后无输出,最终呈现空白页。
正确的type值应该是Symfony内置的PasswordType::class,修改如下:
// 原错误代码 'type' => PassType::class, // 修改为 'type' => PasswordType::class,
其他可选校验点
如果修改核心错误后仍有异常,可逐一排查以下配置:
- 检查
UserController类是否配置了@Route("/user")类级别的路由前缀,保证password_edit路由的完整路径匹配你访问的/user/{id}/change_password - 开启PHP错误日志,排查是否存在隐藏的内存溢出、模板路径权限相关报错
- 确认
edit_password.html.twig模板的存放路径是否为templates/user/edit_password.html.twig,路径、文件名大小写是否和控制器中渲染的参数一致
内容的提问来源于stack exchange,提问作者Harizu
相关产品推荐
相关产品推荐

