Я использую компоненты Symofny в 4-й версии, но не весь фреймворк.
У меня есть ядро, в котором я реализую HttpKernelInterface и использую объект Request из пакета Symfony\Component\HttpFoundation.
В методах обработки я хотел бы использовать сеансы (также symfony). Когда я пытаюсь начать сеанс, у меня возникает ошибка, что собственный сеанс php работает.
<?php
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
final class Kernel implements HttpKernelInterface
{
public function handler(Request $request, $type = self::MASTER_REQUEST, $catch = true)
{
//Case one
$session = new Session();
$session->start();//throw error
// Case two
$session = new Session(new PhpBridgeSessionStorage());
$session->start(); //is working, but use native php sessions
}
}
Когда я использую PhpBridgeSessionStorage, он работает хорошо, но использует собственный сеанс php, собственный идентификатор сеанса.
Как я могу удалить собственные сеансы в этом случае, не удаляя их из файла php.ini. У меня есть несколько виртуальных хостов, что им нужно.
Спасибо за любые подсказки.
Редактировать:
я сделал
php_value session.auto_start 1 в хтакс.
и перемещен new Session() выше Request::createFromGlobals()
в этом случае запрос выдает ту же ошибку.
Когда я пытаюсь вызвать $request->getSession(), он возвращает ноль.
Любые идеи, что я могу сделать, чтобы использовать сеансы Symfony?
Это не работает. Но я также протестировал отключенный автозапуск в php.ini. Тоже выкидывать ошибку. Я думаю, что проблема в объекте запроса. Этот объект инициирует сеанс. Когда я устанавливаю новый сеанс перед запросом, затем возникает ошибка выдачи объекта запроса, что сеанс существует. Но это странно, потому что когда я пытаюсь вызвать $request->getSession(), он возвращает null.






Если я правильно понимаю, и у вас есть апач, то в
.htaccessдля использования каталогаphp_value session.auto_start 0может быть.