警告:"继续"定位开关相当于"中断".你的意思是使用"继续2"吗?

ten*_*oot 33 php symfony

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

[Symfony\Component\Debug\Exception\ContextErrorException]警告:"继续"定位开关相当于"中断".你的意思是使用"继续2"吗?

小智 58

我有同样的问题并且也得到了这个错误,但在我的情况下,这个错误显示我正在尝试运行composer installcomposer update.

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


小智 16

在我看来,该问题是continueSwitch语句中的关键字与PHP 7.3向后不兼容。查看“ 后向不兼容更改 ”中的“继续定向交换机问题警告”部分。

我在使用PHP 7.3的Symfony 3.3中遇到了同样的问题,降级到PHP 7.2解决了该警告。


kyo*_*kyo 12

composer self-update composer install

现在,它应该有效

在此处输入图片说明


Avn*_*lok 11

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

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


步骤1

删除作曲家:

sudo apt-get remove composer
Run Code Online (Sandbox Code Playgroud)

第2步

下载作曲家:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Run Code Online (Sandbox Code Playgroud)

第三步

运行composer-setup.php文件

php composer-setup.php
Run Code Online (Sandbox Code Playgroud)

第四步

最后移动作曲家:

sudo mv composer.phar /usr/local/bin/composer  
Run Code Online (Sandbox Code Playgroud)


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

作曲家

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

php -r "unlink('composer-setup.php');"
Run Code Online (Sandbox Code Playgroud)

  • 在我看来,这与作曲家无关,而是 php 7.3 的问题 (2认同)

Cos*_*run 10

我升级到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
Run Code Online (Sandbox Code Playgroud)

这只是版本依赖性。PHP 7.3

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


khe*_*ngz 10

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

composer self-update

或者

composer install


小智 9

我在 shortcodeComon.php 中的第 1579 行更改了 continue to continue 2 并解决了我的问题

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

           continue;

    }
Run Code Online (Sandbox Code Playgroud)

改成:

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

             continue 2;

   }

Run Code Online (Sandbox Code Playgroud)


Joh*_*ley 7

Windows 10 专业版

PHP 7.3.1

我运行这些命令来解决我桌面上的问题

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Run Code Online (Sandbox Code Playgroud)


aim*_*mme 6

在我的情况下,php 从 php7.2.22 升级到 php7.3.9。

所以不得不降级cli php 因为 composer 在终端上运行

//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
Run Code Online (Sandbox Code Playgroud)

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

//changed web version back to 7.2
sudo a2dismod php7.3
sudo a2enmod php7.2
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

这将适用于其他版本。所以可以随意在版本之间切换。只需适当替换版本号


Sum*_*hwa 6

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

如果您的系统上安装了不同的版本,那么您可以使用以下命令:

php7.1 /usr/bin/composer update // or wherever your composer is
Run Code Online (Sandbox Code Playgroud)

这对我有用


小智 5

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

 apt remove composer
Run Code Online (Sandbox Code Playgroud)

并按照以下步骤操作:

  1. 使用以下命令从其官方发布网站下载作曲家。
 wget https://getcomposer.org/download/1.6.3/composer.phar
Run Code Online (Sandbox Code Playgroud)
  1. 在继续安装之前,您应该在安装之前重命名并将其设为可执行文件。
  mv composer.phar composer
Run Code Online (Sandbox Code Playgroud)
  chmod +x composer
Run Code Online (Sandbox Code Playgroud)
  1. 现在使用以下命令安装该软件包。
 ./composer
Run Code Online (Sandbox Code Playgroud)
  1. 现在composer已经成功安装,使用以下命令使其可以全局访问。适用于 Ubuntu 16
 mv composer /usr/bin/
Run Code Online (Sandbox Code Playgroud)

对于 Ubuntu 18

 mv composer /usr/local/bin/
Run Code Online (Sandbox Code Playgroud)