升级 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 Envoyer 上传特定供应商文件

将 Laravel 5.5 升级到 5.6 错误

Laravel 5.6 升级导致日志记录中断

laravel 从 5.6 作曲家升级到 5.7 不起作用

Laravel5.5升级碰到5.6的问题

Laravel 从 5.5 升级到 5.6 到 5.7:未捕获 ReferenceError: axios is not defined