【问题标题】:How can I get a database running on Symfony如何让数据库在 Symfony 上运行
【发布时间】:2021-02-01 10:48:57
【问题描述】:

目标:

我正在尝试使用 Symfony 中的学说简单地创建一个数据库。我的项目安装在 xampp>htdocs

我已经尝试过:

我的 apache 服务器正在运行,可以在本地查看我的网站没问题。
当我按照documentation 中的说明操作时,我能够成功运行这两个命令:

composer require symfony/orm-pack
composer require --dev symfony/maker-bundle  

然后我转到我的 .env 文件并更改这一行:

DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7"

成为这一行:

DATABASE_URL=mysql://root:pass@127.0.0.1:3306/symphart

-我已将root用户配置为使用密码“pass”并已成功登录phpmyadmin。

-php.ini-production 和 php.ini-development 都启用了 pdo_mysql

问题:

当我运行命令时:

php bin/console doctrine:database:create

我得到错误:

C:\xampp\htdocs\symphart>php bin/console doctrine:database:create
[error] Error thrown while running command "doctrine:database:create". Message: "An exception occurred in driver: could not find driver"


In AbstractMySQLDriver.php line 128:

  An exception occurred in driver: could not find driver


In Exception.php line 18:

  could not find driver


In PDOConnection.php line 37:

  could not find driver

这是错误消息的屏幕截图:

【问题讨论】:

  • 运行“php -m”并确认您已安装并启用了 mysqli 扩展。如果没有,请在您的 php.ini 文件中启用它,然后重试。
  • 对不起,我不明白。这是我的模块: [PHP Modules] bcmath calendar Core ctype curl date dom filter hash iconv json libxml mbstring mysqlnd openssl pcre PDO Phar readline Reflection session SimpleXML SPL standard tokenizer xml xmlreader xmlwriter zip zlib [/PHP Modules] 当我把分号拿走时从extension=mysqli 和extension=pdo_mysql 前面没有效果。
  • 由于您使用的是XAMPP,您是否从XAMPP Manager 启动了MySQL?
  • "mbstring mysqlnd openssl" 你在里面看到mysql了吗?解决这个问题,你就解决了问题。
  • 您似乎已经有多个 php.ini 文件。经典是不知道当前使用的是哪一个。 apache 通常使用与命令行不同的命令行。运行php --ini 以查看在命令行上实际读取了哪些 ini 文件。并更改相关的以包含所需的 php 模块

标签: php symfony doctrine mysql-connector


【解决方案1】:

首先:最佳实践是使用 Symfony 服务器。从 Symfony 网站下载 Symfony。

第二:正确的方法是拥有一个与 xammp 或其他无关的 PHP 外部版本。并确保在系统变量中为 PHP 添加了正确的路径。

从这里下载: https://www.php.net/downloads.php 然后启用 .ini 文件中的扩展。

为了确保您使用的是正确的 PHP 版本,请重新安装 composer 并在安装过程中为 PHP 选择正确的路径。

【讨论】:

    【解决方案2】:

    解决方案:

    Windows 10 在 Xampp 文件夹中有两个扩展名为“.ini”的文件,这两个文件都不是您需要的。取消注释其中的内容对我没有任何帮助。它不会添加模块。

    在 Windows 10 上,您需要查看 “C:\Xampp\php”用于名为“配置”的文件。它与 ini 文件完全一样,但没有扩展名。编辑该文件将启用模块。

    感谢大家为回答我的问题付出的所有努力。你基本上都是对的。似乎只是缺少 Windows 10 的命名约定。

    【讨论】:

      猜你喜欢
      • 2022-07-08
      • 2017-04-22
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      相关资源
      最近更新 更多