我只是想知道composer如何在检查需求时检查要使用哪个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 v 2 . 6 . 0,版权所有(c)1998-2015 Zend Technologies with Xdebug v 2 . 2 . 5,版权所有(c) 2002-2014,作者:吴镇男·雷森斯
这是:
which php
php:别名为 /Applications/MAMP/bin/php/php5.6.10/bin/php
有人能解释一下吗?提前感谢!
如果您使用包安装方法,例如Ubuntu上的apt-get,则可执行文件很可能会包含指向应用于运行该特定作曲家文件的特定php的“sheang”。
使用命令< code>composer时,cli将首先解析要使用的二进制文件。通过运行< code>which composer,您可以找到这是什么二进制文件。
$ which composer
/usr/bin/composer
一旦你知道这一点,你就可以打开文件,例如使用 vim:vim /usr/bin/composer
(通常需要超级用户访问权限来修改二进制文件,所以你不应该弄乱作曲家这样做)。
在composer二进制文件的第一行应该是shebang,可能看起来像<code>#/usr/bin/php,它将指示composer可执行文件如何运行。
然后,您可以直接调用该php二进制文件来验证其版本:
/usr/bin/php -v
在 MacOs X 上,php 的默认安装位于 /usr/bin 中。如果你升级你的php,它很可能会安装在其他地方(如/usr/local/php5),或者如果你使用MAMP或其他东西,它将安装在其他地方。只要确保遍历 PATH 时第一次出现的 php 与 Web 服务器使用的版本相同即可。(比如在你的 PATH 中的 /usr/bin 之前有 /usr/local/php5/bin)。这将解决您的问题。
如果您指定debug verbose-vvv
,Composer可以告诉您它运行的PHP版本。
我喜欢用about
命令运行它,因为输出相对较短。
composer -vvv about
示例输出:
...在达尔文上运行 1.8.5 (2019-04-09 17:46:47) 与 PHP 7.3.5 / 18.6.0 ...
编辑:这比我预期的更有趣,所以这里有一个输出更干净的版本:
composer -vvv about 2>&1 | grep "PHP"
在我们的应用程序中使用PHP检查包(任何版本)是否已安装/存在的最干净的方法是什么? 基本上,在我们的应用程序中,我们希望调用具有以下签名的函数: bool函数hasComposerPackage(字符串$PackageName) 这个函数必须包含什么,这样我们才能做这样的事情: 理想情况下,这需要在没有任何命令行exec调用的情况下发生,并且在这个过程中不应该自动加载任何不必要的文件。
问题内容: 我必须为我们的应用程序使用Python和Django。所以我有两个版本的Python,分别是2.6和2.7。现在,我已经安装了Django。我可以运行示例应用程序以测试Django成功。但是,如何确定Django使用2.6还是2.7版本以及Django使用什么版本的模块? 问题答案: 我必须为我们的应用程序使用Python和Django。所以我有两个版本的Python,分别是2.6和2
我有一个在Debian 11服务器上使用Yii2框架制作的网站。 当我在服务器上执行时,它会在我的web中返回以下错误:
我已在windows 8.1上安装了composer。我使用它下载drupal发行版和模块。我还安装了一个开发桌面。正如您所知,dev desktop附带了不同版本的php,并且它有单独的文件夹。我已经安装了使用PHP5.6的composer。如何使用PHP7? 我应该卸载作曲家并再次安装还是什么?
如何检查服务器上安装了哪个版本的GitLab? 我是关于GitLab更改日志中指定的版本: https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md 例如:“6.5.0”、“6.4.3”等。 Сa这只能通过终端完成吗 有没有办法远程执行此操作(使用浏览器而不是终端)?
如何在Ubuntu 16.04中检查安装了哪个版本的aiohttp? 这个管用 但事实并非如此