我有各种调用启动会话的方法和类,有时会导致错误"Failed to start the session because headers have already been sent"
让我想知道,哪里是开始会议的好地方?每个请求只调用一次的地方,以及每个请求都调用的地方。像主控制器一样?
要开始会话,您应该执行以下操作:
use Symfony\Component\HttpFoundation\Session\Session;
$session = new Session();
$session->start();
Symfony 会话旨在替换几个原生 PHP 函数。应用程序应避免使用 session_start()、session_regenerate_id()、session_id()、session_name() 和 session_destroy(),而应使用以下部分中的 API。
编辑:
看看symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php(第 142 行)
在您的文件session.use_cookies
中启用了吗?php.ini