Доктрина исключения PDODriver не смогла найти драйвер

Когда я пытаюсь использовать драйвер pdo_mysql в Symfony 4 и Doctrine, и я запускаю $entityManager->flush();, я получаю An exception occurred in driver: could not find driver

Выход:

Doctrine\DBAL\Exception\DriverException:
An exception occurred in driver: could not find driver

  at vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:125
  at Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException('An exception occurred in driver: could not find driver', object(PDOException))
     (vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:184)
  at Doctrine\DBAL\DBALException::wrapException(object(Driver), object(PDOException), 'An exception occurred in driver: could not find driver')
     (vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:169)
  at Doctrine\DBAL\DBALException::driverException(object(Driver), object(PDOException))
     (vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOMySql/Driver.php:47)

.env файл имеет

DATABASE_URL=mysql://USER:PASSWORD!@HOSTNAME/DATABASE

doctrine.yml

doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: '5.7.21'
        charset: utf8mb4
        default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci

Я убедился, что в моем контейнере docker php-fpm есть правильные модули.

root@644cfdc6b45b:/usr/local/etc/php/conf.d# php -m | grep -i pdo
PDO
pdo_mysql
pdo_sqlite

Мой экземпляр AWS RDS работает под управлением MySQL 5.7.21. Я также могу создавать и запускать миграции сущностей, поэтому bin / console работает, но сама Symfony не находит нужный драйвер. Мы очень ценим любые советы, которые помогут заставить эту работу работать. Спасибо!

Ниже мой UserController

<?php

namespace App\Controller;

use App\Entity\User;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;


class UserController extends Controller
{
    /**
     * @Route("/user", name = "user")
     */
    public function index()
    {
        $entityManager = $this->getDoctrine()->getManager();

        $user = new User();
        $user->setName('Jay');
        $user->setUsername('testc');
        $user->setEmail('[email protected]');
        $user->setPassword(password_hash('testpassword', PASSWORD_DEFAULT));

        $entityManager->persist($user);

        $entityManager->flush();

        return new Response('Saved new user' . $user->getId());
    }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
2 994
1

Ответы 1

Мне пришлось перезапустить контейнеры докеров, чтобы решить эту проблему.

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