警告:“继续”定位开关等效于“中断”。您是要使用“继续2”吗?

时间:2019-01-14 15:46:18

标签: php symfony

我有php7.3和symfony2.8,当我尝试使用控制台创建类时,出现此错误:

  

[Symfony \ Component \ Debug \ Exception \ ContextErrorException]警告:   “继续”定位开关等效于“中断”。你是说要   使用“继续2”?

23 个答案:

答案 0 :(得分:23)

我也遇到了同样的问题,并且也出现了此错误,但是在我的情况下,当我尝试运行composer installcomposer update时显示此错误。

,我通过运行composer self-update解决了这个问题。它适用于我的项目。

答案 1 :(得分:15)

也许您的作曲家已经过时了。 以下是摆脱该错误的步骤。

  

注意:对于Windows专业人士,只需执行Step2和Step3。


第1步

删除作曲家:

sudo apt-get remove composer

第二步

下载作曲家:

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

Step3

运行composer-setup.php文件

php composer-setup.php

Step4

最后移动作曲家:

sudo mv composer.phar /usr/local/bin/composer  


您的作曲家应该立即更新。要检查它,请运行命令:

  

作曲家

您可以通过php命令删除下载的作曲家

php -r "unlink('composer-setup.php');"

答案 2 :(得分:5)

composer self-update composer install

现在,它应该可以工作

enter image description here

答案 3 :(得分:4)

The issue looks to me to be a backward incompatibility with PHP 7.3 for the continue keyword in Switch statements. Take a look at the "Continue Targeting Switch issues Warning" section in Backward Incompatible Changes.

I ran into the same issue with Symfony 3.3 using PHP 7.3 and downgrading to PHP 7.2 resolved the warning.

答案 4 :(得分:2)

我认为这是一个版本问题,您只需卸载旧版本的composer,然后重新安装其新版本即可。

 apt remove composer

并执行以下步骤:

  1. 使用以下命令从作曲家的官方发布站点下载。
 wget https://getcomposer.org/download/1.6.3/composer.phar
  1. 在继续安装之前,应在安装前重命名并使其成为可执行文件。
  mv composer.phar composer
  chmod +x composer
  1. 现在使用以下命令安装软件包。
 ./composer
  1. 现在已经成功安装了作曲家,请使用以下命令对其进行全局访问。 适用于Ubuntu 16
 mv composer /usr/bin/

对于Ubuntu 18

 mv composer /usr/local/bin/

答案 5 :(得分:2)

就我而言,php已从php7.2.22升级到php7.3.9。

由于作曲家在终端上运行,因此不得不降级 cli php

//checked php version
php -v //was 7.3.9

//changed cli version back to 7.2
sudo update-alternatives --set php /usr/bin/php7.2
sudo update-alternatives --set phar /usr/bin/phar7.2
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.2
sudo update-alternatives --set phpize /usr/bin/phpize7.2
sudo update-alternatives --set php-config /usr/bin/php-config7.2

//checked php version 
php -v //was 7.2.22

其他信息(如果您使用的是Apache)请记住将cli和apache保持在同一版本中。就我而言,我不得不降级

//changed web version back to 7.2
sudo a2dismod php7.3
sudo a2enmod php7.2
sudo service apache2 restart

这将与其他版本一起使用。因此请随时在版本之间切换。只需适当地替换版本号

答案 6 :(得分:2)

在将我的xampp从7.2.0升级到7.3.0之后,我遇到了这个问题,但是在取消composer.exe并从composer.org安装最新的composer.exe之后,问题就解决了

答案 7 :(得分:1)

或从站点“ https://getcomposer.org/download/”下载composer.phar(手动下载),然后使用命令:

php composer.phar require your/package

答案 8 :(得分:1)

运行composer install时遇到相同的问题
我通过在作曲家目录php composer.phar self-update然后在我的项目目录composer update

中完成此操作

答案 9 :(得分:1)

我必须升级学说/规范:

composer update doctrine/orm

Updating doctrine/orm (v2.5.13 => v2.6.6)

答案 10 :(得分:1)

我想这似乎是php7.3的问题。

如果您的系统上安装了其他版本,则可以使用以下版本:

php7.1 /usr/bin/composer update // or wherever your composer is

对我有用

答案 11 :(得分:1)

我更改了继续在shortcodeComon.php的1579行继续第2行,它解决了我的问题

   if(trim($custom_link[$i]) == ""){

           continue;

    }

更改为:

  if(trim($custom_link[$i]) == ""){

             continue 2;

   }

答案 12 :(得分:1)

您是否尝试过进行作曲家的自我更新?

composer self-update

答案 13 :(得分:0)

我有同样的问题。但通过下载作曲家并从头开始安装进行修复。

答案 14 :(得分:0)

对不起,我只是在共享主机上通过symfony3.8项目部署(php 7.3.18)来解决这个问题。

我通过在命令行选项中设置php内存限制来解决此问题,诸如此类:

php -dmemory_limit=-1 /path/to/the/executable

答案 15 :(得分:0)

@aimme的回答应该被接受!

我会用@ david-baucum的评论来扩展他的答案,因为他的解释很清楚!

我还将扩展他的回答,即可以使用ppa:ondrej/php同时运行多个PHP版本。

然后,您无需更改PHP版本,只需像这样调用作曲家: /usr/bin/php7.2 /usr/local/bin/composer install

答案 16 :(得分:0)

  

在debian 9 php7.3上,上面粘贴在下面的答案非常有效。


sudo wget https://getcomposer.org/download/1.8.0/composer.phar -O /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer

答案 17 :(得分:0)

我已升级到PHP 7.3,在使用之前,这些都不对我有用,

sudo wget https://getcomposer.org/download/1.8.0/composer.phar -O /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer

这只是版本依赖性。 PHP 7.3

和作曲家的更新就像一个魅力!

答案 18 :(得分:0)

Windows 10专业版

PHP 7.3.1

我运行了这些命令以解决台式机上的问题

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

答案 19 :(得分:-1)

如果由于某种原因无法更新代码,只需将switch ... continue更改为switch ... break,就像以前版本的PHP一样,可以这样工作。

答案 20 :(得分:-2)

您只需要在指定文件中将“ continue”的出现替换为“ continue 2”。那对我有用。

答案 21 :(得分:-2)

  1. 在您的项目中,搜索文件UnitOfWork.php
  2. 在UnitOfWork.php第2636行和在UnitOfWork.php第2665行中:
  3. 将“ continue”替换为“ continue 2”,然后在控制台中执行 这个命令

    composer update

答案 22 :(得分:-4)

为了消除此错误,您必须转到wp-config文件并添加以下代码行

define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);