找不到驅動程式 - 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
在 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"
如果不是,請註解掉另一行程式碼