Lumen иногда выдает 500 при отправке запроса API?

Я разрабатываю приложение, используя anuglarJs на стороне клиента и Lumen на стороне сервера для REST API. Моя конфигурация .env, приведенная ниже,

APP_ENV=local
APP_DEBUG=TRUE
APP_KEY=XrPbyRlU5p0szSw5MrAQWwWim8C0MXjT

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=kainfo
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file

И включил Dotenv::load(__DIR__.'/../'); в bootstrap/app.php

Моя проблема в том, что иногда Lumen выдает исключение 500 и хорошо работает при следующем запросе на обновление. люмен

Журнал ошибок,

[2015-06-06 07:51:41] lumen.ERROR: exception 'PDOException' with message 'SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'forge'' in C:\xampp\htdocs\Study\kasrodinfo\web\vendor\illuminate\database\Connectors\Connector.php:47

person gsk    schedule 06.06.2015    source источник
comment
См. журнал ошибок на сервере, чтобы узнать точную проблему.   -  person Blip    schedule 06.06.2015
comment
@Blip Я обновил вопрос с журналом ошибок   -  person gsk    schedule 06.06.2015
comment
Судя по ошибке, вы пытаетесь подключиться к базе данных forge с пустым именем пользователя и без пароля в файле Connector.php, и сервер mysql отклоняет соединение. Перепроверьте соединение - исправьте имя пользователя, пароль, имя базы данных и т. д. Если вы не найдете ошибок или запутались, опубликуйте Connector.php с необходимыми деталями проблемы.   -  person Blip    schedule 06.06.2015
comment
Спасибо за комментарий. Когда я помещаю учетные данные базы данных непосредственно в файл настроек базы данных, он работает нормально.   -  person gsk    schedule 06.06.2015


Ответы (2)


Вам нужно изменить базу данных, имя пользователя, пароль в файле \vendor\laravel\lumen-framework\config\database.php

person Ishan Fernando    schedule 13.03.2016

Это также повлияло на это, вот что мы нашли по этому вопросу:

Мы использовали Apache 2.4 с Event MPM и потокобезопасную сборку PHP 7. Это приводило к тому, что метод env() не отвечал надежно — он мог дать вам нужную переменную в одной точке кода, а затем всего несколько строк. вниз он вернет что-то еще. (Как переменная по умолчанию, которую испытывал Треворг.)

Мы перешли на использование prefork MPM, и проблемы мгновенно исчезли.

Да, prefork отстой с точки зрения скорости по сравнению с другим MPM, но, похоже, есть некоторая проблема с событием MPM и переменными окружения в Apache, PHP и/или Laravel/Lumen.

person khromov    schedule 11.10.2016