我有php7.3和symfony2.8,当我尝试使用控制台创建类时,出现此错误:
[Symfony \ Component \ Debug \ Exception \ ContextErrorException]警告: “继续”定位开关等效于“中断”。你是说要 使用“继续2”?
答案 0 :(得分:23)
我也遇到了同样的问题,并且也出现了此错误,但是在我的情况下,当我尝试运行composer install
或composer 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)
答案 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
并执行以下步骤:
wget https://getcomposer.org/download/1.6.3/composer.phar
mv composer.phar composer
chmod +x composer
./composer
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)
将“ continue”替换为“ continue 2”,然后在控制台中执行 这个命令
composer update
答案 22 :(得分:-4)
为了消除此错误,您必须转到wp-config文件并添加以下代码行
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);