我正在为我的控制器编写测试,并且对于使用会话的控制器我收到以下错误:
无法启动会话,因为标题已由\" /home/rightink/public_html/project-file-manager/1.0/vendor/phpunit/phpunit/src/Util/Printer.php发送#34;在第139行。
堆栈跟踪显示Symfony正在使用" NativeSessionStorage.php"在执行不应该是这种情况的测试时。
我有以下config_test.yml文件:
imports:
- { resource: config_dev.yml }
- { resource: parameters_test.yml }
framework:
test: ~
session:
storage_id: session.storage.mock_file
profiler:
collect: false
web_profiler:
toolbar: false
intercept_redirects: false
swiftmailer:
disable_delivery: true
控制器正在使用如下会话:
$session = new Session();
$session->start();
注意:堆栈跟踪显示这是" start"导致异常的方法。
我知道为什么会出现这个会话错误?
谢谢,
文森特
答案 0 :(得分:2)
您使用session
元素作为独立用途。
请以symfony2 service为例使用会话:
public function indexAction($bar)
{
$session = $this->get('session');
$session->set('foo', $bar);
// ...
}
Native Session用于PHP经典用法,其他选项适用于Mongo,Memcache等。更多信息here
希望这个帮助