我看到这个问题非常相似,但我安装了PDO和pdo_pgsql
这是我的错误消息:
php app/console doctrine:mapping:convert yml ./src/Vendor/Bundle/MyBundle/Resources/config/doctrine/metadata/orm --from-database --force
[PDOException]
could not find driver
doctrine:mapping:convert [--filter="..."] [--force] [--from-database] [--extend[="..."]] [--num-spaces[="..."]] [--namespace[="..."]] [--em[="..."]] to-type dest-path
这是我的config.yml设置
doctrine:
dbal:
connections:
my_database:
driver: pdo_pgsql
port: 5432
dbname: blah
user: foo
password: bar
charset: UTF8
主机配置在像这样的prod和dev yaml文件中
doctrine:
dbal:
connections:
my_database:
host: localhost
在命令行上运行php -m
我看到PDO,pdo_pgsql和pgsql都已安装
PDO
pdo_pgsql
pgsql
我错过了什么?
答案 0 :(得分:2)
唉..
您必须先在parameters.yml文件中设置默认数据库
那对我有用的是什么
答案 1 :(得分:2)
在Symfony 2.7或更高版本中,通过编辑 app / config / config.yml 文件解决问题,将其留在指示驱动程序的数据库中:
doctrine:
dbal:
driver: "%database_driver%"
当使用不同驱动程序的多个数据库时,此解决方案也很有用,例如,MySQL数据库,另一个PostgreSQL数据库,......
答案 2 :(得分:0)
首先,验证您的 php.ini 文件:必须启用扩展程序 php_pdo_pgsql 和 php_pdo 。确保在 symfony项目正在使用的php.ini文件中应用此更改(我想您正在使用symfony中的工具应用程序/控制台),请在 localhost / path_to_your_project / web上进行检查/config.php 。您知道是否启用了此扩展来执行函数phpinfo()。
这个命令也很有用:php -m。它在控制台上列出了所有加载的php模块。
提示:请查看 Apache错误日志,您的扩展程序加载可能有问题。此文件根据您的服务器配置进行定位。