不能 运行 PHPUnit,因为它说 "PHPUnit requires PHP 5.6",但我安装了 4.2

Can't run PHPUnit as it says "PHPUnit requires PHP 5.6", but I have 4.2 installed

我已经坚持了大约 4 个小时了。我正在尝试 运行 对我的 Laravel 5 项目进行一些测试。他们在大约一个月前工作,当时我 运行 他们最后一次工作,但我想再次 运行 他们。仅供参考,我正在使用 Vag运行t.

这是我的 composer.json 文件中的一个片段。

"require": {
    "laravel/framework": "5.0.*",
    "illuminate/html": "^5.0",
    "doctrine/dbal": "~2.5",
    "maatwebsite/excel": "~2.0.0",
    "zizaco/entrust": "dev-laravel-5",
    "kalnoy/nestedset": "^3.0"
},
"require-dev": {
    "phpunit/phpunit": "4.2.*",
    "phpspec/phpspec": "~2.1"
},

但是每当我通过终端 运行 phpunit 时,它会显示

This version of PHPUnit requires PHP 5.6; using the latest version of PHP is highly recommended.

我试过以下方法 - 都是通过 Google 和 Stack Overflow 找到的。

在下面输入所有 return 关于 PHP 5.6

的相同错误信息

对于它的价值,/vendor/phpunit/composer.json 显示

"require": {
    "php": ">=5.3.3",
    ...
}
...
"extra": {
    "branch-alias": {
        "dev-master": "4.2.x-dev"
    }
},

此外,调用 php -v 显示 "PHP 5.4.45 (cli) (built: Sep 4 2015 15:40:44)"。 phpinfo() 显示相同的内容。

知道这里发生了什么吗?

您的系统上有多个 phpunit 副本。 运行 终端中的这个命令会告诉你哪一个在你的路径中:

which phpunit

正如您上面的评论所证实的,您没有使用项目文件夹中的那个,因此您需要使用

启动 phpunit
./vendor/phpunit/phpunit/phpunit [rest of command]

或创建指向该副本的符号链接。