作曲家如何检查php版本?

fir*_*l70 9 php macos composer-php

我只是想知道作曲家在检查需求时如何检查要使用哪个php。我使用MacOS,并且在终端类型中:

composer require phpunit/phpunit
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

Problem 1
- phpunit/phpunit 5.0.4 requires php >=5.6 -> your PHP version (5.5.27) or "config.platform.php" value does not satisfy that requirement....
Run Code Online (Sandbox Code Playgroud)

当我检查php版本时:

php -v
Run Code Online (Sandbox Code Playgroud)

结果是:

PHP 5.6.10(cli)(内置:2015年6月12日14:08:56)版权所有(c)1997-2015 The PHP Group Zend Engine v2.6.0,版权所有(c)1998-2015 Zend Technologies with Xdebug v2.2.5, Derick Rethans版权所有(c)2002-2014

这是:

which php
Run Code Online (Sandbox Code Playgroud)

php:别名为/Applications/MAMP/bin/php/php5.6.10/bin/php

有人可以解释一下。提前致谢!

Rei*_*167 13

如果指定debug verbosity,则Composer可以告诉您正在运行的PHP版本-vvv

我喜欢用about命令运行它,因为输出相对较短。

composer -vvv about
Run Code Online (Sandbox Code Playgroud)

输出示例:

...在达尔文/ 18.6.0上使用PHP 7.3.5运行1.8.5(2019-04-09 17:46:47)...

编辑: 这已经引起了比我预期更多的兴趣,所以这是一个输出更干净的版本:

composer -vvv about 2>&1 | grep "PHP"
Run Code Online (Sandbox Code Playgroud)


小智 3

在 MacOs X 上,php 的默认安装位于 /usr/bin 中。如果你升级你的 php,它很可能会安装在其他地方(比如 /usr/local/php5),或者如果你使用 MAMP 或其他东西,它会安装在其他地方。只需确保遍历您的 PATH 时第一次出现的 php 与您的网络服务器正在使用的版本相同。(就像在 PATH 中的 /usr/bin 之前有 /usr/local/php5/bin 一样)。那会解决你的问题。