作曲家如何检查php版本?

时间:2015-10-11 10:57:02

标签: php macos composer-php

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

composer require phpunit/phpunit

结果如下:

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....

当我查看php版本时:

php -v

结果是:

  

PHP 5.6.10(cli)(建于2015年6月12日14:08:56)版权所有(c)1997-2015   PHP Group Zend Engine v2.6.0,版权所有(c)1998-2015 Zend   技术       与Xdebug v2.2.5,版权所有(c)2002-2014,作者Derick Rethans

这是:

which php

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果您使用软件包安装方法(例如Ubuntu上的apt-get),则该可执行文件很可能会包含一个“ shebang”,指向用于运行特定作曲家文件的特定php。

使用命令composer时,cli将首先解析要使用的二进制文件。通过运行which composer,您可以找到是什么二进制文件。

$ which composer
/usr/bin/composer

一旦知道,您就可以打开文件,例如使用vim:vim /usr/bin/composer(通常需要超级用户访问权限才能修改二进制文件,因此您不应该使作曲家搞砸)。 / p>

在作曲家二进制文件的第一行应该是一个shebang,可能看起来像#!/usr/bin/php,它将指示作曲家可执行文件应如何运行。

然后您可以直接调用该php二进制文件以验证其版本:

/usr/bin/php -v

答案 2 :(得分:0)

如果指定调试详细程度-vvv,Composer可以告诉您它正在运行的PHP版本。

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

composer -vvv about

示例输出:

...
Running 1.8.5 (2019-04-09 17:46:47) with PHP 7.3.5 on Darwin / 18.6.0
...