Laravel не удается подключиться к базе данных - PullRequest
0 голосов
/ 16 июня 2020

Я могу подключиться, чтобы приложение Laravel подключилось к mysql. Это на сервере веб-сайта, а не в моей локальной среде, если это имеет значение. Моя проблема в том, что я все время получаю сообщение об ошибке

SQLSTATE[HY000] [1045] Access denied for user 'fsmith'@'localhost' (using password: YES) 

Однако я могу подключиться к mysql, если у меня просто есть файл настройки php регулятора с помощью ниже

$servername = "localhost";
$username = "fsmith";  //no this is not my real username
$password = "12345"; //no this is not my real password

try {
  $conn = new PDO("mysql:host=$servername;dbname=devcenter", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}

Итак, почему моя тестовая страница php работает, а laravel с теми же учетными данными?

Моя база данных. php файл выглядит так

'mysql' => [
        'driver' => 'mysql',
        //'url' => env('DATABASE_URL','localhost'),
        'host' => env('DB_HOST', 'localhost'),
        //'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'devcenter'),
        'username' => env('DB_USERNAME', 'fsmith'),
        'password' => env('DB_PASSWORD', '12345'),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],

1 Ответ

1 голос
/ 16 июня 2020

Похоже, что Laravel использует файл .env вместо значений, которые вы присвоили в базе данных. php.

Возьмите эту строку, например:

'database' => env('DB_DATABASE', 'devcenter'),

Laravel сначала проверит, существует ли ключ DB_DATABASE, и будет использовать назначенное значение. Если DB_DATABASE не существует, он будет использовать devcenter.

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