Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPUnit-已安装版本3.7.21,而不是版本6_Php_Phpunit - Fatal编程技术网

PHPUnit-已安装版本3.7.21,而不是版本6

PHPUnit-已安装版本3.7.21,而不是版本6,php,phpunit,Php,Phpunit,我按照上的说明安装phpunit6 composer require --dev phpunit/phpunit ^6.0 但是,如果我转到项目文件夹并执行phpunit--version,则会得到Sebastian Bergmann的phpunit 3.7.21。 为什么安装的是PHPUnit 3.7.21而不是PHPUnit 6?您运行的全局PHPUnit版本安装在另一个文件夹中。要获取安装的版本,您必须转到供应商/bin文件夹 vendor/bin/phpunit --version P

我按照上的说明安装phpunit6

composer require --dev phpunit/phpunit ^6.0
但是,如果我转到项目文件夹并执行
phpunit--version
,则会得到Sebastian Bergmann的
phpunit 3.7.21。


为什么安装的是PHPUnit 3.7.21而不是PHPUnit 6?

您运行的全局PHPUnit版本安装在另一个文件夹中。要获取安装的版本,您必须转到
供应商/bin
文件夹

vendor/bin/phpunit --version
PHPUnit 6.0.8 by Sebastian Bergmann and contributors.

在较新的版本中,您可以使用
bin/phpunit运行它
应该有可执行文件。当您需要另一个PHP版本时,请在
php74 bin/phpunit

之前定义它,我想您已经安装了xampp了吧?它附带了预先安装了PEAR的PHPUnit 3.x.x,奇怪的是,它不能通过
PEAR uninstall
卸载。由于其配置文件位于php根文件夹中,因此在CMD或PS中运行phpunit命令(即使已全局安装phpunit)时,该3-ish版本具有优先权。如何修复:

  • 转到
    xampp/php
    文件夹,删除两个文件
    phpunit
    (无扩展名)和
    phpunit.bat
    。通常,这足以防止运行较旧的PHPUnit版本,但让我们更安全一点:
  • 转到
    xampp/php/PEAR
    dir并删除两个文件夹
    PHPUnit
    PHPUnit2
  • 进入控制面板,然后导航到系统和安全->系统,然后单击左侧的“高级系统设置”链接。这将在“系统属性”窗口中打开“高级”选项卡。单击“环境变量”按钮,然后在系统变量下选择“路径”变量并单击“编辑…”按钮。在“新建”窗口中,单击“新建”按钮并键入到
    vendor/bin
    文件夹的路径(如果您已经为项目安装了PHPUnit,则会有PHPUnit.bat文件)。xamp的默认设置如下:
    C:\xampp\htdocs\yourprojectname\vendor\bin
  • 重新启动命令提示符(或PowerShell)窗口,然后键入
    phpunit--version
    ,以查看是否现在是phpunit 6.x.x
  • 注意(如果您想要最新的PHPUnit,请不要在require string中使用^6.0,因为它将安装v6.0.0,请将其写入composer.lock文件,该文件将永远不会将PHPUnit更新为最新版本,例如6.2.1 atm)。只用

    composer require --dev phpunit/phpunit
    

    为您的项目安装最新的稳定版本。

    如果您使用XAMPP,为什么不将全局PHPUnit的XAMPP版本更新为所需版本

    一,。 阅读这篇文章,它快速地解释了该做什么:

    二,。 您可以在此处获取所需版本的phar文件:

    三,。 您需要哪个版本的PHPUnit取决于您的PHP版本,您可以在此处确定它:


    只需点击链接:PHPUnit 9-PHPUnit 8-PHPUnit 7-PHPUnit 6-PHPUnit 5-PHPUnit 4,并阅读说明,解释它使用的PHP版本。

    很高兴它有所帮助!