【问题标题】:Homestead: How to upgrade PHP versionHomestead:如何升级 PHP 版本
【发布时间】:2018-12-08 13:49:28
【问题描述】:

我在一年前用 Laravel 5.5 安装了 Homestead。

现在我想升级到 Laravel 5.6。

我按照here 的说明升级了 Homestead

vagrant box update
git pull origin master

这也迫使我将我的vagrant 升级到2.1.2

现在当我登录时

vagrant ssh

我无法升级到 Laravel 5.6,因为当我运行 composer update 时会收到以下警告:

使用包信息加载作曲家存储库更新 依赖项(包括 require-dev) 您的要求不能 解析为一组可安装的软件包。

问题 1 - 这个包需要 php >=7.1.3 但你的 PHP 版本(7.0.27;通过 config.platform 覆盖的包(实际:7.1.7))不需要 满足这个要求。问题 2 - laravel/framework v5.6.9 需要 php ^7.1.3 -> 你的 PHP 版本 (7.1.7-1+ubuntu16.04.1+deb.sury.org+1) 被覆盖 “config.platform.php”版本(7.0.27)不满足 要求。

如果我在流浪机器中调用php -v,我会得到

PHP 7.1.7-1+ubuntu16.04.1+deb.sury.org+1 (cli)(构建时间:2017 年 7 月 7 日 09:41:45)(NTS)

这没关系,因为 Laravel 只需要 PHP 7.1.3,但升级卡住了,因为 composer 声称我使用的是 PHP 7.0.27

为什么会这样,我该如何解决?

我什至尝试过

sudo apt-get update
sudo apt-get upgrade

按照here 的建议,但它仍然无法正常工作。升级时保留了一些软件包:

以下软件包已被保留:libdrm-amdgpu1 libdrm2 libegl1-mesa libgbm1 libgd3 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libwayland-egl1-mesa mssql-tools open-vm-tools php7.1-bcmath php7.1-cli php7.1-common php7.1-curl php7.1-dev php7.1-fpm php7.1-gd php7.1-imap php7.1-intl php7.1-json php7.1-mbstring php7.1-mysql php7.1-opcache php7.1-pgsql php7.1-readline php7.1-soap php7.1-sqlite3 php7.1-xml php7.1-zip 0 已升级,0 个新安装,0 个要移除,30 个未升级。

【问题讨论】:

    标签: php laravel vagrant homestead


    【解决方案1】:

    解决方案实际上是您问题的一部分。如果我们再看一下作曲家错误:

    问题 1 - 此包需要 php >=7.1.3,但您的 PHP 版本(7.0.27;包已通过 config.platform [...]

    覆盖

    这意味着您的 composer.json 中确实有以下内容,您需要在更新之前更改或删除:

    "config": {
        "platform": {
            "php": "7.0.7"
        },
        "preferred-install": "dist",
        "optimize-autoloader": true
    }
    

    您可以将其更改为实际平台版本或完全删除它。它用于模拟环境,如果您想检查是否可以在您的服务器上运行composer install,当它有另一个 PHP 版本而不是您的开发机器时,它会很方便。

    【讨论】:

    • 删除"platform": { "php": "7.0.7" }, ?
    • 我在回答中添加了一个解释,这可能会让您知道它的作用。所以是的,继续删除它或将其设置为您的新 PHP 版本。
    • 这是问题的答案,但请注意,平台变量可能是故意的。也许您的部署服务器只有 php 7.0.7,因此您升级本地 php 版本势必会在以后再次部署时产生完全相同的错误。
    • @Loek 好吧,那么他们不应该更新到 Laravel 5.6。 :)
    • 哈哈是的,但是我看到很多人犯了这样的“错误”,我只是想指出来。
    猜你喜欢
    • 2019-09-19
    • 2020-07-28
    • 2016-09-13
    • 2015-04-14
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多