php - 无法启动会话:已启动
问题描述
我已经安装了 Google-mailer、教义-fixtures-bundle 和 webpack-bundle 包。我在这个项目的开始,在那里创建第一个控制器,它应该有一个登录表单。Controller 和 From 是使用命令 bin/console make: controller 和 make: form 创建的,并且没有更改。但是我已经遇到了问题,因为我在调用表单时遇到了错误
无法启动会话:已由 PHP 启动。
我可以用这样一个事实来解释这个消息,即当创建视图时 Symfony 尝试启动一个会话,因为表单受 csrf 保护(应该保持这种状态)。但这应该不是问题,因为 Symfony 管理会话。
php.ini => session.auto_start=0;
框架.yaml:
framework:
secret: '%env(APP_SECRET)%'
#csrf_protection: true
#http_method_override: true
# Enables session support. Note that the session will ONLY be started if you read or write from it.
# Remove or comment this section to explicitly disable session support.
session:
handler_id: null
cookie_secure: auto
cookie_samesite: lax
#esi: true
#fragments: true
php_errors:
log: true
HomeController 中的测试功能:
/**
* @Route("/testform", name="testform", methods={"GET","POST"})
*/
public function testform()
{
$User = new User();
$form = $this->createForm(TestFormType::class, $User);
$form->handleRequest($this->request);
if ($form->isSubmitted() && $form->isValid()) {
return $this->redirectToRoute('home');
}
return $this->render('home/testform.html.twig', [
'form' => $form->createView(),
]);
}
测试表格类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email')
->add('forname')
->add('name')
->add('password');
}
解决方案
推荐阅读
- php - preg_match 上的 Css 类单词匹配
- python - 将 django 托管到 Heroku 并获取应用程序错误代码 10
- image - 为什么将图像转换为 HEIC 会删除整行或整列像素?
- python - 在交替字母练习中使用 **kwargs
- html - 是否有可以嵌套在其他元素中的 HTML5 元素列表?
- c++ - 如何使用列表作为值的无序映射
- node.js - 丢弃 NodeJS 转换流中的块并读取下一个
- python - 在 Python 中创建 excel 图表时获取不同的折线图类型
- javascript - 当我执行执行注册或登录的 ajax 请求时,它无法正常工作
- javascript - 用户成功登录后如何通过路由器立即将用户重定向到新页面(密码,用户名正确)