В Symfony 3 можно было использовать PdoSessionHandler
для хранения сеансов с тем же соединением БД, что и используемая доктрина: Symfony 3.4 Документация
В Symfony 4 все еще есть швы PdoSessionHandler
, Symfony 4.0 Docs, но, к сожалению, нет информации о том, как разделить соединение с БД.
На мой взгляд, соединение с БД относится к .env
файл, который не должен быть добавлен в систему управления версиями / public, а не как предложено в документации, просто жестко запрограммирован (включая пароль !!!).
Как повторно использовать соединение с БД для хранения сеансов в БД с использованием Symfony 4.0
Редактировать: Тем временем я безуспешно пытался это:
// config/services.yaml
Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler:
arguments:
- '%env(resolve:DATABASE_URL)%'
В моем .env
файл у меня примерно такой: DATABASE_URL=mysql://dbuser:dbpass@dbhost:dbport/dbsheme?charset=UTF-8
где конечно dbuser
, dbpass
, dbhost
, dbport
а также dbsheme
установлены на параметры для подключения MySQL
К сожалению, это дает мне FatalErrorException
с сообщением: «Ошибка: session_start (): не удалось инициализировать модуль хранения: пользователь (путь: / var / lib / php / session)», что это за ошибки, связанные с тем, что он пытается что-то сделать локально, когда я этого хочу подключиться к удаленной БД.
Задача ещё не решена.
Других решений пока нет …