首页 > 代码库 > Symfony 没有找到数据库驱动An exception occured in driver: could not find driver

Symfony 没有找到数据库驱动An exception occured in driver: could not find driver

 

如果一直报这个错误,

第一,你本地没有相关的数据库驱动(mysql:-->pdo_myql,postgresql-->pdo_pgsql等);

需要执行

php -m|grep -i pdo

查看你有哪些驱动配置;

驱动配置在: 你本地的php文件里有一个php.ini文件,搜索pdo_myql或者pdo_pgsql,使用哪个就把前面的逗号去掉,逗号在ini文件中是注释的意思;

第二;当你把已经处理完这些情况后,还是报这个错误,那么你就清理缓存,当然你如果使用的是phpstom开发工具,可以使用ctr+shift+f搜索mysql,或者你认为的没有改过来的配置,你可能会就在appDevDebugProjectContainer.xml文件中看到相应的缓存,所以要清理一下;

$ php bin/console cache:clear # 清除缓存

第三,如果还报这个错误,我就不知道了,自行解决;

 

$ php bin/console doctrine:database:create


  [Doctrine\DBAL\Exception\DriverException]
  An exception occured in driver: could not find driver



  [Doctrine\DBAL\Driver\PDOException]
  could not find driver



  [PDOException]
  could not find driver


doctrine:database:create [--shard SHARD] [--connection [CONNECTION]] [--if-not-exists] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-i
nteraction] [-e|--env ENV] [--no-debug] [--] <command>

 

--------------------配置数据信息:

第一步: 找到config.yml文件:

doctrine:
dbal:
driver: %database_driver%
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.root_dir%/../var/data/data.sqlite"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: ‘%database_path%‘

第二找到parameter.yml文件:

parameters:
database_driver: pdo_pgsql 数据库驱动,如果你使用mysql那就是  pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: 数据库名称
database_user: 数据库用户名
database_password: 数据库密码
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: 数据库用户
mailer_password: 数据库用户密码
secret: ThisTokenIsNotSoSecretChangeIt

第三:你可以执行: php bin/console doctrine:database:create

来创建数据库;

当然也可以写一个脚本,来创建数据库,总之连接成功就可以了;

 

第四:创建实体:请看http://www.cnblogs.com/Amos-Turing/p/6264044.html这篇博客

然后就可以执行:php bin/console doctrine:schema:update --force # 根据entity生成数据库

 

Symfony 没有找到数据库驱动An exception occured in driver: could not find driver