Я перевожу приложение, написанное на PHP, на Laravel.Я пока не могу перенести функциональность из файлов PHP, поэтому я поместил их в каталог /public
, и все в основном хорошо.Однако старое приложение установило $_SESSION["userId"]
, когда пользователь вошел в систему, и на него ссылаются в большинстве файлов для идентификации текущего пользователя.
Я понимаю, что сессия Laravel не является нативной сессией PHP.Я добавил session_start()
в мой app.php
файл и установил $_SESSION["userId"]
, когда пользователь входит в систему, но $_SESSION["userId"]
в старых файлах приложения всегда undefined
.
Я чувствую, что есть кусокголоволомки, которую я до сих пор скучаю, но я не могу понять это.Я использую свежую установку Laravel 5.6.
РЕДАКТИРОВАТЬ для уточнения
Старое приложение состоит из множества файлов PHP, каждый из которых echo
содержит данные JSON, которые называютсячерез запросы ajax.Я просто поместил их в каталог public
, и старые URL-адреса в нашем внешнем интерфейсе Angular работают без изменений.
Приложение Angular обслуживается через index.blade.php
, в котором контроллер вызывает session_start()
и устанавливает переменную $_SESSION["userId"]
перед возвратом представления.