【问题标题】:Laravel: [ErrorException] "continue" targeting switch is equivalent to "break". during "composer install"Laravel:[ErrorException]“继续”定位开关相当于“中断”。在“作曲家安装”期间
【发布时间】:2019-12-18 23:16:04
【问题描述】:

当我跑步时...

composer install

... 在安装了 PHP 和 nginx 的服务器上。

我得到以下异常:

[错误异常]
“继续”定位开关相当于“中断”。您的意思是使用“继续 2”吗?

我该如何解决这个问题?

【问题讨论】:

  • 可能 composer 版本太旧,请尝试composer self-update,或从 composer 站点安装最新版本。

标签: laravel composer-php php-7.2


【解决方案1】:

检查您当前的 PHP 版本是否大于 7.2,然后执行以下简单步骤

1.禁用最新的php版本

sudo a2dismod php7.3

2.重启nginx服务

sudo service nginx restart

3.如果您使用的是 Apache2,请按如下方式运行

sudo service apache2 restart

4.设置替代方案

sudo update-alternatives --set php /usr/bin/php7.2

5.检查 PHP 版本

php -v

6.现在,如下安装 Composer

composer install

【讨论】:

    【解决方案2】:

    这是 PHP 7.3 中引入的新警告。

    这意味着你不能在switch 中使用continue 语句,你应该改用break

    要解决这个问题,您很可能只需要更新 composer,这可以通过运行 composer self-update 来完成。

    您也可以只运行 php 而没有警告,这可以通过将 ini 配置值设置为启动参数来完成。

    php -d error_reporting=0 composer.phar
    

    【讨论】:

      【解决方案3】:

      这是因为一个过时的作曲家。经过大量搜索后,以下对我有用:

      1. 卸载旧作曲家。
      2. 安装新的更新作曲家。

      您可以从这个链接下载或安装作曲家:https://getcomposer.org/download/

      【讨论】:

        【解决方案4】:

        旧作曲家在switch 内的代码中使用continue 语句,该语句已过时,不能再与最新版本的php 一起使用。

        你需要更新你的作曲家

        php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
        php composer-setup.php --install-dir=bin
        

        更多详情请访问composer download

        【讨论】:

          【解决方案5】:

          对我来说, 直接去这个文件

          sudo nano /usr/share/php/Composer/DependencyResolver/RuleSetGenerator.php
          

          作为一种快速而肮脏的替代方法,您可以修复该文件中的错误。只需将“继续”替换为“中断”

          【讨论】:

            猜你喜欢
            • 2020-05-27
            • 1970-01-01
            • 1970-01-01
            • 2019-06-08
            • 2014-03-04
            • 1970-01-01
            • 2017-05-22
            • 1970-01-01
            相关资源
            最近更新 更多