"Доступ запрещен для пользователя" "localhost" в базу данных "forge" появляется случайным образом

У меня есть функция поиска для моей базы данных, но иногда я получаю это сообщение:

[2016-02-04 07:03:18] local.ERROR: PDOException: SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'forge' in C:\xampp\htdocs\reko\api\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:55
Stack trace:
#0 C:\xampp\htdocs\reko\api\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php(55): PDO->__construct('mysql:host=loca...', 'forge', '', Array)
...

В одном из десяти вызовов я получаю это сообщение об ошибке 500, но я не знаю почему. Другие вызовы дают правильный результат.

.env

APP_ENV=local
APP_DEBUG=true
APP_KEY=bJM6O0MnrIPaTNwKKOqNJkGinRDv1fnc

DB_HOST=localhost
DB_DATABASE=reko
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

Функция поиска:

public function search(Modul $modul, Request $request)
{
    $question = Question::whereModulId($modul->id)
        ->where('value', 'LIKE', '%' . $request->get('keywords') . '%')
        ->with('tags')
        ->whereHas('exams', function ($query) use ($request) {
            $query->where('date', '>=', $request->get('year').'-01-01');
        });
    if (!$request->get('parent'))
        $question->where('type', '<>', 'parent');
    if (!$request->get('own'))
        $question->where('type', '<>', 'own');
    if (!$request->get('normal'))
        $question->where('type', '<>', 'normal');
    if ($request->get('answered'))
        $question->has('answers');
    return $question->paginate(10);
}

database.php

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

Я не модифицировал файл database.php, и все остальные звонки работают отлично.

Ответ 1

Кажется, что большинство ответов: Laravel 5.2 не читает файл env

Не забудьте не редактировать ваши основные файлы, как сказал один из пользователей. Просто выполняйте безопасные проверки, очищайте кеш, работайте.

Надеюсь, что это поможет.

В качестве обходного пути вы можете добавить свою учетную запись в базу данных DB со всеми привилегиями.

Ответ 2

Попробуйте php artisan clear:cache очистить кеш и переконфигурировать кеш php artisan config:cache, он может сработать для вас.

Ответ 3

ПОЖАЛУЙСТА, ВЫПОЛНИТЕ ЭТУ КОМАНДУ

php artisan clear:cache 

ТОГДА

php artisan config:cache