Невозможно создать базу данных с помощью Symfony 4.1: не удалось найти драйвер

Когда я выполняю команду php bin / console доктрина: база данных: создать, у меня возникают следующие ошибки:

In AbstractMySQLDriver.php line 126: An exception occurred in driver: could not find driver

In PDOConnection.php line 50: could not find driver

In PDOConnection.php line 46: could not find driver


конфигурация / пакеты / doctrine.yaml

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

.env

DATABASE_URL=mysql://root:[email protected]:3306/blogMyProject

Мои расширения PHP: Невозможно создать базу данных с помощью Symfony 4.1: не удалось найти драйвер

Расширения php.ini: Невозможно создать базу данных с помощью Symfony 4.1: не удалось найти драйвер

PHP 7.2.7 - MySQL 5.7.11 - Symfony 4.1.4 - Я использую UwAmp 3.1.0 - Я в Windows

Я не понимаю, откуда эти ошибки.

У вас есть отдельный php.ini для PHP CLI в UwAmp, если да, проверьте, что все необходимые расширения активированы там, а также php.ini, используемый вашим веб-сервером

RiggsFolly 02.09.2018 17:05

Проверьте, установлен ли php-mysql на вашем сервере

Preciel 02.09.2018 17:13

@RiggsFolly, я добавил свой php.ini в свой пост. У меня есть расширение pdo_mysql.

user9801655 02.09.2018 17:23

@Preciel Я использую UwAmp в Windows, а не в Linux.

user9801655 02.09.2018 17:25

Справа: Но как я сказал в своем предыдущем комментарии. В некоторых системах есть файлы 2php.ini. Один используется PHP под Apache, а другой используется PHP CLI (интерфейс командной строки). Посмотрите в папку, содержащую PHP, и посмотрите, есть ли в этой папке php.ini. Это будет тот, который будет использовать CLI

RiggsFolly 02.09.2018 17:27

Извините, я неправильно понял, это работает! Пришлось доработать php.ini каталога bin / php, спасибо :)

user9801655 02.09.2018 17:29
Стоит ли изучать 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 и хотите разрабатывать...
1
6
14 222
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

RiggsFolly принес решение:

У меня есть второй файл php.ini в UwAmp. Расширение pdo_mysql было отключено в bin / php / php-version / php.ini

Я только что установил UwAmp 3.1.0 на машину с Windows 10 и столкнулся с той же проблемой при попытке запустить команду php artisan migrate в приложении Laravel. Вот как я это решил:

  • Перейти к bin/php/<php-version>
  • Сделайте копию php_uwamp.ini с именем php-cli.ini
  • Откройте его в текстовом редакторе
  • Заменить extension_dir = "{PHPEXTPATH}" на extension_dir = "ext"
  • Заменить zend_extension = "{PHPZENDPATH}/php_xdebug.dll" на extension_dir = "../zend_ext/php_xdebug.dll"

Каждый раз, когда вы меняете конфигурацию PHP в интерфейсе UwAmp, вы должны повторять эти шаги, поскольку изменения сохраняются на php_uwamp.ini.

Это работает в моем случае

symfony 4.2
php 7.3

Я включил

extension=pdo_mysql

в php.ini

в файле php.ini отключено расширение extension = pdo_mysql. Я включил его, и соединение заработало.

in file=> config\packages\doctrine.yaml

dbal:
        dbname:               database
        host:                 localhost
        port:                 1234
        user:                 user
        password:             secret
        driver:               pdo_mysql
        # if the url option is specified, it will override the above config
        url:                  mysql://db_user:[email protected]:3306/db_name
        # the DBAL driverClass option
        driver_class:         App\DBAL\MyDatabaseDriver

Спасибо за этот фрагмент кода, который может предоставить некоторую немедленную помощь. Правильное объяснение значительно повысило бы его ценность в долгосрочной перспективе, показав, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей, задающих другие похожие вопросы. Измените свой ответ, чтобы добавить пояснения, в том числе сделанные вами предположения.

Syscall 26.02.2021 09:08

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