我有一个在Debian 11服务器上使用Yii2框架制作的网站。
当我在服务器上执行composer update
时,它会在我的web中返回以下错误:
Composer在您的平台中检测到问题:您的Composer依赖项需要PHP版本”
我不明白的错误,因为我的服务器是版本8.0.13
root@xxxx:/var/www/html/myweb# php -v
PHP 8.0.13 (cli) (built: Nov 22 2021 09:47:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.0.13, Copyright (c) Zend Technologies
with Zend OPcache v8.0.13, Copyright (c), by Zend Technologies
我试过使用以下命令:
composer install--ignore platform reqs
,它可以正常工作。但是,我希望能够更正错误,并且composer更新也能正常工作。
如何修复PHP版本的作曲家错误?
My composer.json:
{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Project Template",
"keywords": ["yii2", "framework", "basic", "project template"],
"homepage": "http://www.yiiframework.com/",
"type": "project",
"license": "BSD-3-Clause",
"support": {
"issues": "https://github.com/yiisoft/yii2/issues?state=open",
"forum": "http://www.yiiframework.com/forum/",
"wiki": "http://www.yiiframework.com/wiki/",
"irc": "irc://irc.freenode.net/yii",
"source": "https://github.com/yiisoft/yii2"
},
"minimum-stability": "stable",
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.5",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"kartik-v/yii2-widget-switchinput": "*",
"kartik-v/yii2-widget-datepicker": "@dev",
"kartik-v/yii2-widget-datetimepicker": "1.4.2",
"kartik-v/yii2-date-range": "1.6.7",
"kartik-v/yii2-widget-activeform": "@dev",
"kartik-v/yii2-widget-depdrop": "@dev",
"kartik-v/yii2-widget-select2": "@dev",
"kartik-v/yii2-grid": "@dev",
"kartik-v/yii2-widget-fileinput": "@dev",
"kartik-v/yii2-mpdf": "@stable",
"kartik-v/yii2-popover-x": "*",
"bower-asset/jquery": "@stable",
"bower-asset/jquery.inputmask": "@stable",
"bower-asset/punycode": "@stable",
"kartik-v/yii2-export": "*",
"opensooq/yii2-firebase-notifications": "dev-master",
"yiisoft/yii2-imagine": "^2.1",
"bupy7/yii2-widget-cropbox": "*",
"kartik-v/yii2-editable": "*",
"miloschuman/yii2-highcharts-widget": "^6.0",
"newerton/yii2-fancybox": "dev-master",
"nterms/yii2-pagesize-widget": "*",
"yiisoft/yii2-jui": "^2.0",
"kartik-v/yii2-widget-alert": "*",
"kartik-v/yii2-sortable": "*",
"wbraganca/yii2-dynamicform": "*",
"kartik-v/yii2-sortable-input": "dev-master",
"phpoffice/phpexcel": "*",
"yii2tech/html2pdf": "^1.0",
"boundstate/yii2-htmlconverter": "dev-master",
"kartik-v/yii2-widget-sidenav": "*",
"bower-asset/bootstrap": "^3.3",
"npm-asset/jquery": "^2.2",
"phpoffice/phpspreadsheet": "1.20.0"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
"config": {
"process-timeout": 1800,
"github-oauth": {
}
},
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
"scripts": {
"post-create-project-cmd": [
"yii\\composer\\Installer::postCreateProject"
]
},
"extra": {
"yii\\composer\\Installer::postCreateProject": {
"setPermission": [
{
"runtime": "0777",
"web/assets": "0777",
"yii": "0755"
}
],
"generateCookieValidationKey": [
"config/web.php"
]
},
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}
似乎您的编写器是从另一个php版本运行的。
通过composer-vvv about检查它
我们在您的服务器(最大5.3.5)和开发机器(最大5.5.9)上混合运行不同的PHP版本。 现在我们遇到了一个问题,我们做了一个“作曲家更新”来获取一些外部捆绑包的最新版本。因为你的composer.json看起来像 我们得到了一些需要PHP 5.5的捆绑包。在我们的开发机器上没有问题,但在服务器上:( 有没有可能告诉composer需要5.3.3到5.3.5之间的PHP版本?还是最大可用版本?
我只是想知道composer如何在检查需求时检查要使用哪个php。我使用MacOS和终端类型: 结果是这样的: 当我检查php版本时: 结果是: 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
最近,我做了很多关于作曲家最小稳定性的研究。我进入了官方文档,阅读了关于最小稳定性变化的内容。但是,即使如此,我也无法让编写器安装依赖项。 我有根包和另外两个包,我们称它们为packageA和packageB。当我需要根包中的packageB时,packageB必须带上packageA,但这就是我得到错误的时候。 您的需求无法解析为一组可安装的包。 问题1 packageB/packageB开发主
第一次安装Composer,已经安装了Composer-Setup.exe,在命令行输入composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,执行报错了,有大佬能帮我看下怎么解决吗?感谢!
当我运行composer update时,我得到了这些错误,问题是我已经安装了PHP7,但我不知道为什么会得到这个错误(我使用的是docker-compose) 这是我的php版本
我已在windows 8.1上安装了composer。我使用它下载drupal发行版和模块。我还安装了一个开发桌面。正如您所知,dev desktop附带了不同版本的php,并且它有单独的文件夹。我已经安装了使用PHP5.6的composer。如何使用PHP7? 我应该卸载作曲家并再次安装还是什么?