Symfony fos:user:create 通过错误 "could not find driver",(Xampp 具有 PHP 的多个版本)

Symfony fos:user:create through error "could not find driver", (Xampp with multiple verison of PHP)

我在 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”字样,因为它将使用项目设置而不是系统设置。)

(正如我们之前所说,我们使用“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"

解决方案

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

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

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

搜索 (CTRL+F) pdo_mysql 和 uncomment/remove ";"

之前 ;extension=pdo_mysql

之后 extension=pdo_mysql

保存更改

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