Symfony 3.4创建数据库报错:could not find driver 求助
解决Symfony 3.4创建数据库时的"could not find driver"报错
在Windows XAMPP环境下,使用Symfony 3.4 + PHP 7.4.9创建数据库时,反复出现以下报错:
In AbstractMySQLDriver.php line 115: An exception occured in driver: could not find driver In PDOConnection.php line 47: could not find driver In PDOConnection.php line 43: could not find driver
已配置parameter.yml和config.yml的Doctrine部分,配置如下:
parameter.yml
# This file is auto-generated during the composer install parameters: database_host: 127.0.0.1 database_port: null database_name: symfony database_user: root database_password: null mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null secret: ThisTokenIsNotSoSecretChangeIt
config.yml(Doctrine部分)
# Doctrine Configuration doctrine: dbal: driver: pdo_mysql host: '%database_host%' port: '%database_port%' dbname: '%database_name%' user: '%database_user%' password: '%database_password%' charset: UTF8 # if using pdo_sqlite as your database driver: # 1. add the path in parameters.yml # e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite' # 2. Uncomment database_path in parameters.yml.dist # 3. Uncomment next line: #path: '%database_path%'
具体解决步骤
确认PHP版本对应php.ini文件
XAMPP中PHP 7.4的php.ini通常在XAMPP/php/php.ini路径,不要误修改其他版本的配置文件。启用PDO MySQL扩展
打开php.ini,找到以下两行,去掉前面的分号;:;extension=pdo_mysql ;extension=mysqli修改后变为:
extension=pdo_mysql extension=mysqli同时确认
XAMPP/php/ext目录中存在php_pdo_mysql.dll文件。重启XAMPP Apache服务
修改php.ini后必须重启Apache,否则配置不会生效。打开XAMPP控制面板,停止Apache再重新启动。验证扩展是否启用
在XAMPP的htdocs目录创建phpinfo.php文件,内容如下:<?php phpinfo(); ?>访问
http://localhost/phpinfo.php,搜索pdo_mysql,确认是否有对应的模块信息,存在则说明扩展已启用。确认CLI使用的php.ini
Symfony命令行依赖PHP CLI版本,执行以下命令查看当前CLI加载的配置文件路径:php --ini确保该配置文件中也启用了
pdo_mysql扩展。如果路径不符,可在执行Symfony命令时指定配置文件:php -c "XAMPP/php/php.ini" bin/console doctrine:database:create检查环境变量
确保Windows环境变量PATH包含XAMPP的PHP路径(如XAMPP/php),避免命令行调用系统中其他版本的PHP。
内容的提问来源于stack exchange,提问作者Yassine Krout
相关产品推荐
相关产品推荐

