Laravel - Auth застревает при чтении файла сессии - PullRequest
0 голосов
/ 29 июня 2018

надеюсь, что ты хороший

Я пытался добавить таблицу профиля в свой проект Laravel 5.6, и я также использую пакет spatie \ Laravel-Permission. Это работало нормально, но после того, как я запустил некоторые миграции (которые не имеют ничего общего с пользователями), он начал давать сбой при входе в систему. Любопытно, что, если я зарегистрирую нового пользователя, он будет авторизован должным образом, но не по маршруту / login (я использую леса аутентификации Laravel).

После отладки проекта я нашел метод, который не работает, это что-то читающее сессии:

MyProject\vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.php

<?php
namespace Illuminate\Filesystem;

use ErrorException;
use FilesystemIterator;
use Symfony\Component\Finder\Finder;
use Illuminate\Support\Traits\Macroable;
use Illuminate\Contracts\Filesystem\FileNotFoundException;

class Filesystem{
    // ...
    public function get($path, $lock = false)
    {
        if ($this->isFile($path)) {
            return $lock ? $this->sharedGet($path) : file_get_contents($path); // <-- The failing line
        }

        throw new FileNotFoundException("File does not exist at path {$path}");
    }
    // ...
}

Как только он попадает в эту строку, отладчик останавливается, браузер не получает ответ, функция dd () не срабатывает ... Я также попытался отладить метод sharedGet ($ path), и он возвращает значение, но вернемся к методу выше, он останавливается.

Кроме того, файл php_error.log абсурдно увеличивается при каждом запросе (до 500 МБ / запрос) настолько, что ни один из редакторов, которые я использую, не может открыть его (SublimeText, NetBeans).

Я думаю, что apache может не хватать памяти при чтении файлов, но файл сессии едва весит 1 Кб, так что это не имеет особого смысла.

Может ли кто-нибудь дать какую-нибудь подсказку? Спасибо

- EDIT:

Я попытался установить новый проект laravel только с модулем Auth и пакетом разрешений spatie / laravel, и я заметил то же самое поведение: он регистрирует и регистрирует пользователей, но после выхода из системы я больше не могу войти с любым пользователем.

1 Ответ

0 голосов
/ 02 июля 2018

В случае, если кто-то получит ту же ошибку:

Мне удалось решить эту проблему путем резервного копирования всех моих проектов / баз данных и переустановки wampserver с последней версией php (на момент ответа - 7.2.4) и переустановки Laravel (к счастью, проект только начинался ), который обновил только пакет vlucas / phpdotenv с 2.4.0 до 2.5.0 и phpunittest.

С этим обновлением теперь я могу нормально входить в систему пользователей, теперь давайте посмотрим, работает ли оно как следует с пакетом spatie / laravel-Разрешения и таблицей профилей, которые мне нужно добавить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...