编写器如何检查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) (build: Jun 12 2015 14:08:56) Copyright (c) 1997-2015PHP Group Zend Engine v2.6.0,版权所有(c) 1998-2015 Zend技术Xdebug v2.2.5,版权所有(c) 2002-2014, by Derick Rethans

:

which php

php: alias to/Applications/MAMP/bin/php/php5.6.10/bin/php

有人能解释一下吗?提前感谢!

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

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

composer -vvv about

示例输出:

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

编辑:这比我预期的更吸引人,所以这里有一个输出更清晰的版本:

composer -vvv about 2>&1 | grep "PHP"

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

如果您使用包安装方法,例如Ubuntu上的apt-get,则可执行文件可能包含指向应该用于运行特定编写器文件的特定php的"shebang"。

当使用命令composer时,cli将首先解析使用哪个二进制文件。通过运行which composer,您可以找到二进制文件。

$ which composer
/usr/bin/composer

一旦你知道了这一点,你就可以打开文件,例如使用vim: vim /usr/bin/composer(通常需要超级用户访问才能修改二进制文件,所以你不应该把composer搞得一团糟)。

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

你可以直接调用php二进制文件来验证它的版本:

/usr/bin/php -v

(在这里分享这个,因为我正在寻找它,降落在这里,但没有什么让我满意,所以我将分享给那些出于同样原因降落在这里的人:)

使用以下命令,您可以检查哪些编写器包依赖于特定的php版本:

composer depends php | grep 8.1

将输出如下内容:

symfony/console                    v6.1.4  requires php (>=8.1)                  
symfony/css-selector               v6.1.3  requires php (>=8.1)                  
symfony/deprecation-contracts      v3.1.1  requires php (>=8.1)                  
symfony/error-handler              v6.1.3  requires php (>=8.1)                  
symfony/event-dispatcher           v6.1.0  requires php (>=8.1)                  
symfony/event-dispatcher-contracts v3.1.1  requires php (>=8.1)                  
symfony/finder                     v6.1.3  requires php (>=8.1)                  
symfony/http-foundation            v6.1.4  requires php (>=8.1)                  
symfony/http-kernel                v6.1.4  requires php (>=8.1)                  
symfony/mailer                     v6.1.4  requires php (>=8.1)                  
symfony/mime                       v6.1.4  requires php (>=8.1)                  
symfony/process                    v6.1.3  requires php (>=8.1)                  
symfony/routing                    v6.1.3  requires php (>=8.1)                  
symfony/service-contracts          v3.1.1  requires php (>=8.1)                  
symfony/string                     v6.1.4  requires php (>=8.1)                  
symfony/translation                v6.1.4  requires php (>=8.1)                  
symfony/translation-contracts      v3.1.1  requires php (>=8.1)                  
symfony/var-dumper                 v6.1.3  requires php (>=8.1)

相关内容

  • 没有找到相关文章

最新更新