Ответ 1
У меня та же проблема и эта ошибка тоже, но в моем случае эта ошибка отображается, когда я пытаюсь запустить composer install
или composer update
.
и я решаю эту проблему, запустив composer self-update
. это работает на моем проекте.
У меня есть php7.3 и symfony2.8 Когда я пытаюсь создать классы с помощью консоли, я получаю эту ошибку:
[Symfony\Component\Debug\Exception\ContextErrorException] Предупреждение: переключение таргетинга "продолжить" эквивалентно "прерыванию". Вы имели в виду использовать "продолжить 2"?
У меня та же проблема и эта ошибка тоже, но в моем случае эта ошибка отображается, когда я пытаюсь запустить composer install
или composer update
.
и я решаю эту проблему, запустив composer self-update
. это работает на моем проекте.
Мне кажется, что проблема заключается в обратной несовместимости с PHP 7.3 для ключевого слова continue
в операторах Switch. Взгляните на раздел "Предупреждение о проблемах с переключателем таргетинга" в разделе " Несовместимые изменения в прошлом".
Я столкнулся с той же проблемой с Symfony 3.3, используя PHP 7.3, и понижение до PHP 7.2 устранило предупреждение.
Я обновил до 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
и обновление композитора работало как шарм!
Может быть, ваш композитор устарел. Ниже приведены шаги, чтобы избавиться от ошибки.
Note: For Windows professionals, Only Step2 и Step3 is needed и done.
Шаг1
Удалить композитора:
sudo apt-get remove composer
Step2
Загрузите композитор:
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');"
Windows 10 Professional
PHP 7.3.1
Я выполнил эти команды, чтобы исправить проблему на рабочем столе
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
Или загрузите composer.phar с сайта: " https://getcomposer.org/download/ " (загрузка вручную) и используйте команду:
php composer.phar require your/package
composer self-update
composer install
Теперь это должно работать
В моем случае 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
Это будет работать с другими версиями. так что не стесняйтесь переключаться между версиями. просто замените номера версий соответственно
На 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
Я была такая же проблема. но исправили это, загрузив composer & установка с нуля.
Замените "continue" на "continue 2", затем в консоли выполните эту команду
composer update
Вам нужно только заменить вхождение "continue" на "continue 2" в указанном файле. Это сработало для меня.