Ключ шифрования Laravel "исчезает" при загрузке страницы

У меня есть проблемы с Laravel и Ajax, из-за которых я не смог выйти из Google или Stackru. Какие бы решения я ни видел, я уже учел.

Спорадически я получаю 500 ошибок (иногда это 401). Это происходит только с Ajax, что указывает на то, что я неправильно отправляю токен CSRF.

Но CSRF загружается при каждой загрузке страницы, и проблема началась 4 дня назад, а проекту уже около месяца. Это случается, может быть, 1 из 10 вызовов Ajax. Остальные 9 выполнятся просто отлично.

Вызов Ajax происходит сразу после загрузки страницы. Возможно ли, что Laravel как-то не обновил свои ожидания от входящего вызова Ajax? Никакие другие вызовы Ajax не вызывают эту проблему.

Laravel.log говорит:

production.ERROR: No application encryption key has been specified. {"exception":"[object] (RuntimeException(code: 0): No application encryption key has been specified. at C:\\....\\vendor\\laravel\\framework\\src\\Illuminate\\Encryption\\EncryptionServiceProvider.php:42)

[трассировки стека]

Что очень странно для меня по двум причинам. Прежде всего, существует шифрование. Как уже упоминалось, проект существует в течение длительного времени, и проблема носит спорадический характер. Во-вторых, там написано "production.ERROR", но среда локальная. У меня есть это в файле.env:

APP_ENV=local

У кого-нибудь есть какие-либо идеи о том, как решить или как отладить проблему? Я нахожусь на пустом месте здесь.

ОБНОВЛЕНИЕ: Проблема определенно связана с вызовами AJAX, которые вызываются сразу при загрузке страницы. У меня точно такая же проблема возникла в другом проекте, все остальные вызовы AJAX в проекте работают так, как они должны; Но тот, который вызывается сразу при загрузке страницы, терпит неудачу с 401 и 500 время от времени.

1 ответ

Для тех, кто все еще может иметь эту проблему, попробуйте это:php artisan config:clear

Другие вопросы по тегам