Когда я выполняю команду 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:

Расширения php.ini:

PHP 7.2.7 - MySQL 5.7.11 - Symfony 4.1.4 - Я использую UwAmp 3.1.0 - Я в Windows
Я не понимаю, откуда эти ошибки.
Проверьте, установлен ли php-mysql на вашем сервере
@RiggsFolly, я добавил свой php.ini в свой пост. У меня есть расширение pdo_mysql.
@Preciel Я использую UwAmp в Windows, а не в Linux.
Справа: Но как я сказал в своем предыдущем комментарии. В некоторых системах есть файлы 2php.ini. Один используется PHP под Apache, а другой используется PHP CLI (интерфейс командной строки). Посмотрите в папку, содержащую PHP, и посмотрите, есть ли в этой папке php.ini. Это будет тот, который будет использовать CLI
Извините, я неправильно понял, это работает! Пришлось доработать php.ini каталога bin / php, спасибо :)






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.iniextension_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
Спасибо за этот фрагмент кода, который может предоставить некоторую немедленную помощь. Правильное объяснение значительно повысило бы его ценность в долгосрочной перспективе, показав, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей, задающих другие похожие вопросы. Измените свой ответ, чтобы добавить пояснения, в том числе сделанные вами предположения.
У вас есть отдельный
php.iniдля PHP CLI в UwAmp, если да, проверьте, что все необходимые расширения активированы там, а такжеphp.ini, используемый вашим веб-сервером