使用 Doctrine orm symfony 创建新数据库时出错
Posted
技术标签:
【中文标题】使用 Doctrine orm symfony 创建新数据库时出错【英文标题】:Errors creating a new database with Doctrine orm symfony 【发布时间】:2022-01-11 05:21:33 【问题描述】:我尝试使用以下命令创建一个新数据库:
$ bin/console doctrine:database:create
我收到以下错误:
在 ExceptionConverter.php 第 91 行: 驱动程序:找不到驱动程序 在 Exception.php 第 26 行:找不到驱动程序
在 Driver.php 第 28 行:找不到驱动程序
我也尝试从以下位置修改数据库 url:
# DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"
到
# DATABASE_URL="mysql://root:@127.0.0.1:3306/SMF?serverVersion=5.7"
我正在使用 xampp 服务器。
【问题讨论】:
如果是数据库权限问题,那么您将收到完全不同的错误消息。您发布的配置仍然包含 # 符号(这意味着该行已被注释掉并因此被忽略)这一事实使我怀疑您收到错误提示,表明未安装 postgres 驱动程序。如果是这样,则取消注释 mysql 行。如果驱动程序错误是关于 mysql 的,那么您需要安装 pdo_mysql 驱动程序。如果您正在使用 xampp,您可能已经拥有它。 您必须取消注释 DATABASE_URL="mysql://root:@127.0.0.1:3306/SMF?serverVersion=5.7" 并注释(使用 # )默认数据库配置示例:DATABASE_URL="postgresql ://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8" 【参考方案1】:确保您已在该机器上安装了所有驱动程序。 据我记得是:php-pdo 和 php-pdo_mysql - 取决于您的操作系统。 你需要有一个mysql客户端来制作这样的数据库。
基本上在您的控制台中运行此命令:
symfony check:requirements
它会告诉你运行 Symfony 应用程序所缺少的包。 不要忘记将您的 MySQL 服务器版本与 DNS 匹配:
DATABASE_URL="mysql://root:@127.0.0.1:3306/SMF?serverVersion=X.Y"
最后,Ouss Ma L'aire Bien 提到,取消注释您要使用的 DATABASE_URL 并注释掉所有其他。
【讨论】:
现在我取消了 # DATABASE_URL="mysql://root:@127.0.0.1:3306/SMF?serverVersion=5.7" 行的注释,它工作了,感谢您的帮助,问题已解决 请通过接受此解决方案将其标记为已解决。它会帮助别人。问候。以上是关于使用 Doctrine orm symfony 创建新数据库时出错的主要内容,如果未能解决你的问题,请参考以下文章
级联持久性不工作(Doctrine ORM + Symfony 2)
如何在 symfony 中更新新版本的 Doctrine2 和 ORM?
Doctrine|ORM|Symfony:可能与接口或多个实体有关系
如何通过 SonataAdminBundle (Symfony) 管理 Doctrine ORM 类表继承?