У меня есть проект в Laravel 6 с базой данных MySQL и работает нормально. Мой клиент хочет использовать SQLite вместо MySQL базы данных.
Итак, я преобразовал свою существующую базу данных из базы данных. sql в database.sqlite , используя следующий онлайн-инструмент Преобразование базы данных в режиме онлайн здесь: https://www.rebasedata.com/ https://www.rebasedata.com/convert-mysql-to-sqlite-online
После этого я настроил database.sqlite в .env файл и в config / database . php file.
Issue: Я не могу go за пределами страницы входа. Каждый раз, когда я пытаюсь войти, он перенаправляет меня обратно на страницу входа.
Отладка : я проверял, что если я удалю функцию аутентификации, то смогу получить доступ к контроллеру, который появляется после входа в систему.
Если я прокомментирую эту строку $ this-> middleware ('auth'); следующая функция начинает работать.
public function __construct()
{
// $this->middleware('auth');
}
Заключение : я обнаружил, что не получаю никакого значения для $ user = Auth :: user ();
Так что я думаю, что сессия не генерируется и сохраняется правильно с База данных SQLite
Примечания:
- Я экспортировал существующую базу данных с помощью phpmyadmin и удалил все ненужные комментарии из базы данных. sql file.
- Я конвертировал базу данных. sql файл онлайн с помощью этого инструмента https://www.rebasedata.com/convert-mysql-to-sqlite-online
- Согласно моему исследованию, Auth не генерируется и не сохраняется.
- Я использую по умолчанию laravel Auth, я сгенерировал это, используя laravel команду терминала.
- Эта настройка работает нормально, если я настраиваю проект с базой данных MySql.
- Настройка базы данных SQLite Путь правильный. Я обнаружил ошибку неправильного пути при настройке, и я решил это.
- Я уже тестировал с помощью этой команды. : php кэш ремесленника: очистить --- php маршрут ремесленника: кэш --- php конфигурация ремесленника: кэш --- php просмотр ремесленника: очистить
Любая помощь оценили. Заранее спасибо.