Symfony: No pude encontrar conductor

Estoy corriendo sinfonía con xampp. Tratar de conectarse y crear db trhough marco normativo. Cuando escribo doctrina:database:crear I respondió con No pude encontrar al conductor.. Pero mi conductor de pdo trabaja bien. Está presente en phpinfo, además puedo conectar fácilmente a db a través de pdo constructor. Aquí está mi doctrina configs:

doctrine:
dbal:
    url: '%env(resolve:DATABASE_URL)%'
    driver: pdo_mysql
    # IMPORTANT: You MUST configure your server version,
    # either here or in the DATABASE_URL env var (see .env file)
    #server_version: '13'
orm:
    auto_generate_proxy_classes: true
    naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
    auto_mapping: true
    mappings:
        App:
            is_bundle: false
            type: annotation
            dir: '%kernel.project_dir%/src/Entity'
            prefix: 'App\Entity'
            alias: App

Y mi env:

DATABASE_URL="mysql://root:@127.0.0.1:3306/aihara"

Pregunta hecha hace 3 años, 5 meses, 0 días - Por binaryblossom


3 Respuestas:

  • comprobar si no tienes otro php.ini donde el pdo_mysql está deshabilitado

    Respondida el Dec 17, 2020 a las 10:47 - por apiartisan

    Votos positivos: 0 | Votos negativos: 0

  • El mensaje "No pude encontrar al conductor" suele estar relacionado con la configuración de la conexión a la base de datos en Symfony. En tu caso, estás configurando Doctrine para usar el controlador PDO de MySQL, pero parece que Symfony no está detectando correctamente el controlador.

    Aquí te dejo algunos pasos que puedes seguir para intentar solucionar este problema:

    • Verifica que el controlador PDO de MySQL esté instalado y habilitado en tu entorno PHP. Puedes hacerlo revisando tu archivo php.ini y asegurándote de que la extensión `pdo_mysql` esté habilitada. También puedes verificar esto ejecutando `php -m` en tu terminal para listar los módulos cargados en PHP.
    • Intenta especificar explícitamente la versión del servidor MySQL en la configuración de Doctrine, descomentando la línea `server_version` y estableciendo la versión correcta. Por ejemplo, puedes probar con `server_version: '5.7'` si estás usando MySQL 5.7.
    • Verifica si Symfony está cargando la configuración correcta. Puedes ejecutar el siguiente comando para ver la configuración de Doctrine que Symfony está utilizando: `php bin/console debug:config doctrine`.
    • Asegúrate de que tu archivo `.env` esté correctamente configurado con la URL de la base de datos. En tu caso, la URL parece estar bien formateada.

    Después de realizar estos pasos, intenta nuevamente ejecutar el comando php bin/console doctrine:database:create para crear la base de datos y revisa si el error persiste. Si el problema sigue sin resolverse, puedes buscar en los registros de Symfony o en la consola para obtener más información sobre el error específico que se está produciendo.

    Espero que estos pasos te ayuden a resolver el problema con el controlador PDO en Symfony. ¡Déjame saber si tienes alguna otra pregunta!

    Respondida el Dec 18, 2020 a las 10:45 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Problema:

    Symfony no puede encontrar el controlador PDO MySQL.

    Solución:

    1. Verifica la configuración de Doctrine:

    Asegúrate de que el controlador pdo_mysql esté configurado correctamente en tu archivo config/packages/doctrine.yaml:

    yaml
    doctrine:
        dbal:
            driver: pdo_mysql
            url: '%env(resolve:DATABASE_URL)%'
    

    2. Verifica la extensión PDO MySQL:

    Asegúrate de que la extensión PDO MySQL esté instalada y habilitada en tu servidor PHP. Puedes verificarlo ejecutando el siguiente comando:

    php
    php -m | grep pdo_mysql
    

    Si no ves pdo_mysql en la lista, debes instalar y habilitar la extensión.

    3. Verifica la información de la base de datos:

    Comprueba que la URL de la base de datos en tu archivo .env sea correcta. Debe tener el formato:

    
    DATABASE_URL="mysql://usuario:contraseña@host:puerto/nombre_base_datos"
    

    Asegúrate de que el usuario y la contraseña especificados en la URL tengan los permisos necesarios para crear la base de datos.

    4. Verifica la configuración de XAMPP:

    Asegúrate de que el servicio MySQL esté activo en XAMPP. Comprueba que el puerto MySQL (normalmente 3306) esté abierto y accesible. Puedes usar el siguiente comando para verificar:

    
    netstat -an | grep 3306
    

    Si sigues teniendo problemas, intenta borrar la caché de Doctrine ejecutando los siguientes comandos:

    
    php bin/console cache:clear --env=prod
    php bin/console cache:warmup --env=prod
    

    También puedes intentar reinstalar el paquete doctrine/orm:

    
    composer require doctrine/orm
    

    Respondida el Dec 18, 2020 a las 10:52 - por Gemini

    Votos positivos: 0 | Votos negativos: 0