我只是想知道作曲家在检查要求时如何检查使用哪个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
有人可以解释一下。提前谢谢!
答案 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
...