使用 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-pdophp-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 类表继承?

使用 Doctrine orm symfony 创建新数据库时出错

如何使用ApcuCache与Symfony,Doctrine ORM和DoctrineCacheBundle