Symfony fos:user:create through error "could not find driver", (Xampp with multiple versio

Posted

技术标签:

【中文标题】Symfony fos:user:create through error "could not find driver", (Xampp with multiple version of PHP)【英文标题】:Symfony fos:user:create through error "could not find driver", (Xampp with multiple verison of PHP) 【发布时间】:2021-04-20 11:30:12 【问题描述】: 简介:

我在一个使用 phpStorm 的 Symfony 项目中。我正在尝试在 DB (xampp mysql) 上创建一个 fos 用户。

Symfony CLI 版本 v4.21.6 作曲家版本 1.10.19

C:\Program Files\Symfony\name_projectFolder>php -v
PHP 8.0.0 (cli)

C:\Program Files\Symfony\name_projectFolder>symfony php -v
PHP 7.4.14 (cli)

使用第一个命令,我们看到默认使用的实际 php 版本(8.0.0),但我的项目不支持它,所以我安装了另一个(在 xampp 文件夹中,过程正确)并告诉项目使用这个新版本 (7.4.14) 而不是默认版本。

设置项目应该使用哪个php版本:

C:\Program Files\Symfony\name_projectFolder>echo 7.4 > .php-version

查看我们拥有的 PHP 版本列表:

C:\Program Files\Symfony\name_projectFolder>symfony local:php:list

左侧的突出显示的数字是项目正在使用的实际版本。 右边的星号表示默认的系统PHP版本。

(信息: 如果你想使用一个普通的命令,你需要指定它应该引用哪个 PHP 版本,以便运行它。 为此,只需在普通命令之前添加“symfony”字样,因为它将使用项目设置而不是系统设置。)

开始创建 fos 用户的过程:

(正如我们之前所说,我们使用“symfony”这个词来“告诉”命令使用 7.4 PHP 版本,请记住,通常你不会这样做)

C:\Program Files\Symfony\name_projectFolder>symfony php bin\console fos:user:create

您会收到此错误

简而言之"An exception occurred in driver: could not find driver"

【问题讨论】:

【参考方案1】:

解决方案

因为你有两个PHP版本,在新的版本中你需要启用pdo_mysql扩展,而通常没有。

停止 XAMPP 控制器中的 Apache 服务器。

只需进入文件夹C:\xampp\php7_4 并打开文件php.ini

搜索 (CTRL+F) pdo_mysql 并取消注释/删除“;

之前 ;extension=pdo_mysql

之后 extension=pdo_mysql

保存更改

启动 Apache 服务器并重新运行 symfony php bin\console fos:user:create 命令,它会工作!!

【讨论】:

以上是关于Symfony fos:user:create through error "could not find driver", (Xampp with multiple versio的主要内容,如果未能解决你的问题,请参考以下文章

警告:非法字符串偏移量'city'Symfony表单搜索

安装 symfony 框架

Symfony 2.3/2.4 独立表单组件

Symfony 5.2.3 接口类型提示

通过单元测试访问 Symfony 2 容器?

使用无Symfony的树枝[关闭]