升级 Laravel 5.6 的 Envoyer 部署失败引用不匹配的 PHP 版本
Posted
技术标签:
【中文标题】升级 Laravel 5.6 的 Envoyer 部署失败引用不匹配的 PHP 版本【英文标题】:Envoyer deployment of upgraded Laravel 5.6 fails quoting mismatched PHP versions 【发布时间】:2019-08-02 01:34:04 【问题描述】:我刚刚从 Laravel 5.2 更新到 5.6,更新了所有需要的各种 composer,但是我最新的 Envoyer 部署在 Instal Composer Dependencies 阶段失败了。
我收到以下错误消息
在源代码管理中使用 Composer 存档。运行命令:php composer.phar install --no-interaction --prefer-dist 加载作曲家 包含包信息的存储库 更新依赖项(包括 require-dev) 您的需求无法解析为可安装的 一组包。
问题 1 - 此软件包需要 php ^7.1.3,但您的 PHP 版本 (7.0.20) 不满足该要求。
问题 2 - laravel/passport ^7.2 的安装请求 -> laravel/passport[v7.2.0] 可以满足。 - laravel/passport v7.2.0 需要 php >=7.1 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。
问题 3 - laravel/framework v5.6.9 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.8 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.7 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.6 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.5 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.4 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.39 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.38 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.37 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.36 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.35 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.34 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.33 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.32 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.31 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.30 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.3 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.29 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.28 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.27 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.26 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.25 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.24 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.23 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.22 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.21 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.20 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.2 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.19 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.18 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.17 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.16 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.15 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.14 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.13 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.12 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.11 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.10 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.1 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。 - laravel/framework v5.6.0 需要 php ^7.1.3 -> 你的 PHP 版本 (7.0.20) 不满足这个要求。
laravel/framework 5.6.* 的安装请求 -> laravel/framework[v5.6.0, v5.6.1, v5.6.10, v5.6.11, v5.6.12, v5.6.13、v5.6.14、v5.6.15、v5.6.16、v5.6.17、v5.6.18、v5.6.19、v5.6.2、 v5.6.20、v5.6.21、v5.6.22、v5.6.23、v5.6.24、v5.6.25、v5.6.26、 v5.6.27、v5.6.28、v5.6.29、v5.6.3、v5.6.30、v5.6.31、v5.6.32、v5.6.33、 v5.6.34、v5.6.35、v5.6.36、v5.6.37、v5.6.38、v5.6.39、v5.6.4、v5.6.5、 v5.6.6、v5.6.7、v5.6.8、v5.6.9]。
我的 composer.json 文件看起来像这样
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require":
"php": "^7.1.3",
"fzaninotto/faker": "^1.6",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "5.6.*",
"laravel/passport": "^7.2",
"laravel/tinker": "~1.0",
"sneek/laravel-xss-middleware": "^1.1",
"stripe/stripe-php": "^5.1",
"usmanhalalit/laracsv": "1.*@dev",
"webpatser/laravel-uuid": "2.*",
"whoops/soap": "^1.0"
,
"require-dev":
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~7.0",
"filp/whoops": "~2.0"
,
"autoload":
"classmap": [
"database"
],
"psr-4":
"App\\": "app/"
,
"autoload-dev":
"psr-4":
"Tests\\": "tests/"
,
"scripts":
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
,
"config":
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
我已经通过本地机器上的终端运行 composer update 并且锁定文件似乎已正确更新。
我看不出我做错了什么。谁能帮帮我?
谢谢
【问题讨论】:
你的服务器上的php是什么版本的? 【参考方案1】:您需要将您的 php 版本更新到至少 php 7.1.3
请参阅 Laravel 5.6 要求。
来自 laravel 页面的引用。
PHP
Laravel 5.6 requires PHP 7.1.3 or higher.
参考:https://laravel.com/docs/5.6/upgrade#upgrade-5.6.0
【讨论】:
以上是关于升级 Laravel 5.6 的 Envoyer 部署失败引用不匹配的 PHP 版本的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 从 5.5 升级到 5.6 到 5.7:未捕获 ReferenceError: axios is not defined