找不到驱动程序 - Symfony 5中的"An exception occurred in driver: could not find driver"
P粉651109397
2023-08-22 20:59:57
<p>我目前面临这个问题。我在Symfony方面是一个真正的新手。</p>
<p>问题:
当我使用cli创建一个新的数据库 <code>symfony console doctrine:database:create</code>时,我遇到了以下错误:</p>
<pre class="brush:php;toolbar:false;">In AbstractPostgreSQLDriver.php line 102:
An exception occurred in driver: could not find driver
In Exception.php line 18:
could not find driver
In PDOConnection.php line 38:
could not find driver</pre>
<p>我使用的是带有xampp的php 7.4,通常情况下已安装了pdo_sql:</p>
<pre class="brush:php;toolbar:false;">extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd2
extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop</pre>
<p>这是我的.env文件配置:</p>
<pre class="brush:php;toolbar:false;">###> doctrine/doctrine-bundle ###
# 格式参见 https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# 重要提示:您必须在此处或config/packages/doctrine.yaml中配置您的服务器版本
#
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
DATABASE_URL="mysql://root:@127.0.0.1:3306/dbname"
DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###</pre>
<p>这是我的doctrine.yaml文件配置:</p>
<pre class="brush:php;toolbar:false;">doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
# 重要提示:您必须在此处或在DATABASE_URL环境变量中配置您的服务器版本(参见.env文件)
#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: 'AppEntity'
alias: App</pre>
<p>我已经搜索了几个小时,但是找不到任何解决我的问题的解决方案,有人有主意吗?
我使用的是Windows系统。</p>
<p>非常感谢!</p>
如果您在Linux上工作,可能缺少一些扩展,运行以下命令
如果您想使用Mysql,请注释掉这行代码:
DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
如果不是,请注释掉另一行代码