Я пишу тесты для своих контроллеров и получаю следующую ошибку для контроллера, использующего сессию:
Не удалось запустить сеанс, поскольку заголовки уже были отправлены \ «/ home / rightink / public_html / project-file-manager / 1.0 / vendor / phpunit / phpunit / src / Util / Printer.php \» в строке 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», который приводит к исключению.
Любая идея, почему я получил эту ошибку сеанса?
Спасибо,
Винсент
Вы используете session
элемент как отдельное использование.
Пожалуйста, используйте сессию как сервис symfony2 как пример:
public function indexAction($bar)
{
$session = $this->get('session');
$session->set('foo', $bar);
// ...
}
Native Session предназначен для классического использования PHP, другие опции — для Mongo, Memcache и других. Больше информации Вот
Надеюсь это поможет
Других решений пока нет …