在 Laravel 8 中执行单元测试的问题

问题描述 投票:0回答:1

我正在使用 Laravel 8 和 PHP 7.4 当我运行以下命令时

php artisan test --filter ActivityTests

我收到错误: “警告:Windows 平台不支持 TTY 模式。 PHPUnit 需要“dom”、“json”、“libxml”、“mbstring”、“tokenizer”、“xml”、“xmlwriter”扩展,但“mbstring”扩展不可用。”

所以我编辑了 PHP ini 文件,删除了前面的分号

extension=mbstring

ext目录下也存在相关的dll文件。 但是当我在 cmd 中输入 php -m 时,它没有列出 mbstring。

寻求帮助来解决这个问题

php phpunit laravel-8
1个回答
0
投票

似乎您已在 PHP 配置中启用了

mbstring
扩展,但当您运行
php -m
时它仍然没有显示。如果您的系统上有多个 PHP 配置,并且您可能编辑了错误的 php.ini 文件,则可能会发生这种情况。

要解决此问题并确保正确启用

mbstring
扩展,请按照以下步骤操作:

  1. 识别已加载的 PHP 配置:

    • 打开命令提示符或终端。
    • 运行以下命令来识别加载的php.ini文件:
      php --ini
      
    • 这将显示加载的 php.ini 文件。确保您正在编辑正确的 php.ini 文件。
  2. 启用

    mbstring
    扩展:

    • 打开正确的 php.ini 文件进行编辑(上一步中显示的文件)。
    • 删除行中的分号:
      extension=mbstring
      
    • 保存 php.ini 文件。
  3. 重新启动 PHP:

    • 编辑 php.ini 文件后,必须重新启动 PHP 才能使更改生效。
  4. 检查

    mbstring
    扩展名:

    • 打开命令提示符或终端。
    • 运行
      php -m
      检查
      mbstring
      扩展名是否已列出。

如果进行这些更改后仍未列出

mbstring
,您可能需要检查 PHP 安装是否存在任何冲突或问题。确保您编辑的
php.ini
文件与您在 Laravel 中使用的 PHP 版本相对应。

此外,请确保 PHP

ext
目录中有必要的 DLL 文件,正如您提到的相关 DLL 文件存在。如果您仍然遇到问题,请考虑重新安装 PHP 或确保 PHP 安装设置正确。

如果您在 Windows 平台上运行 Laravel,请注意 Windows 在 PHP 扩展方面可能有一些特定的怪癖,因此请仔细检查您的 PHP 安装是否已针对 Windows 正确配置。

© www.soinside.com 2019 - 2024. All rights reserved.