Ich habe php7.3 und symfony2.8 Wenn ich versuche, die Klassen mit der Konsole zu erstellen, erhalte ich folgende Fehlermeldung:
[Symfony \ Component \ Debug \ Exception \ ContextErrorException] Warnung: Der Targeting-Schalter "continue" entspricht "break". Wollten Sie "continue 2" verwenden?
Antworten:
Ich habe das gleiche Problem und auch diesen Fehler, aber in meinem Fall zeigt dieser Fehler, wenn ich versuche,
composer install
oder auszuführencomposer update
.und ich löse dieses Problem durch Ausführen
composer self-update
. es funktioniert bei meinem Projekt.quelle
composer update
während der Installation den Fehler auszuführen, obwohl es völlig besser ist, den Komponisten selbst auf dem neuesten Stand zu halten, nur für diejenigen, die darüber nachdenken müssen, welche Auswirkungen dies auf andere Projekte auf demselben Server haben könnte. )Vielleicht ist Ihr Komponist veraltet. Im Folgenden finden Sie die Schritte, um den Fehler zu beheben.
Schritt 1
Entfernen Sie den Komponisten:
Schritt 2
Laden Sie den Komponisten herunter:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Schritt 3
Führen Sie die Datei composer-setup.php aus
Schritt 4
Bewegen Sie zum Schluss den Komponisten:
Ihr Komponist sollte jetzt aktualisiert werden. Um dies zu überprüfen, führen Sie den folgenden Befehl aus:
Sie können den heruntergeladenen Composer per PHP-Befehl entfernen
php -r "unlink('composer-setup.php');"
quelle
Das Problem scheint mir eine Abwärtsinkompatibilität mit PHP 7.3 für das
continue
Schlüsselwort in Switch-Anweisungen zu sein. Schauen Sie sich den Abschnitt "Warnung vor Problemen mit Targeting-Switches fortsetzen" unter " Abwärtsinkompatible Änderungen" an .Ich bin mit Symfony 3.3 unter Verwendung von PHP 7.3 auf dasselbe Problem gestoßen, und ein Downgrade auf PHP 7.2 hat die Warnung behoben.
quelle
Ich habe ein Upgrade auf PHP 7.3 durchgeführt, und keines davon hat bei mir funktioniert, bevor ich es verwendet habe.
sudo wget https://getcomposer.org/download/1.8.0/composer.phar -O /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer
Es ist nur die Versionsabhängigkeit. PHP 7.3
und Komponisten-Update funktionierte wie ein Zauber!
quelle
composer self-update composer install
Jetzt sollte es funktionieren
quelle
Command "self-update" is not defined.
Haben Sie versucht, ein Komponisten-Selbst-Update durchzuführen?
composer self-update
oder
composer install
quelle
Command "self-update" is not defined
Windows 10 Professional
PHP 7.3.1
Ich habe diese Befehle ausgeführt, um das Problem auf meinem Desktop zu beheben
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php
quelle
In meinem Fall wurde PHP von PHP7.2.22 auf PHP7.3.9 aktualisiert.
musste also cli php downgraden, da der Composer auf dem Terminal ausgeführt wird
//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
Zusätzliche Informationen Wenn Sie Apache verwenden, denken Sie daran, sowohl Cli als auch Apache in derselben Version zu belassen. In meinem Fall musste ich ein Downgrade durchführen
//changed web version back to 7.2 sudo a2dismod php7.3 sudo a2enmod php7.2 sudo service apache2 restart
Dies funktioniert mit anderen Versionen. Sie können also zwischen den Versionen wechseln. Ersetzen Sie einfach die Versionsnummern entsprechend
quelle
Ich habe weiterhin 2 in Zeile 1579 in shortcodeComon.php geändert und es hat mein Problem behoben
if(trim($custom_link[$i]) == ""){ continue; }
Ändern:
if(trim($custom_link[$i]) == ""){ continue 2; }
quelle
Oder laden Sie composer.phar von der Website " https://getcomposer.org/download/ " (manueller Download) herunter und verwenden Sie den folgenden Befehl:
php composer.phar require your/package
quelle
das scheint ein problem mit php7.3 zu sein, denke ich.
Wenn auf Ihrem System eine andere Version installiert ist, können Sie Folgendes verwenden:
php7.1 /usr/bin/composer update // or wherever your composer is
es hat bei mir funktioniert
quelle
Nach dem Upgrade meiner xampp von 7.2.0 auf 7.3.0 tritt dieses Problem auf, aber nachdem ich composer.exe deinstalliert und die neueste composer.exe von composer.org installiert habe, ist das Problem behoben
quelle
Ich denke, es ist ein Versionsproblem. Sie müssen nur die alte Version von Composer deinstallieren und dann eine neue Installation der neuen Version durchführen.
und folgen Sie den Schritten:
wget https://getcomposer.org/download/1.6.3/composer.phar
für Ubuntu 18
quelle
sudo wget https://getcomposer.org/download/1.8.0/composer.phar -O /usr/local/bin/composer && sudo chmod 755 /usr/local/bin/composer
quelle
Ich musste Doktrin / Orm aktualisieren:
composer update doctrine/orm Updating doctrine/orm (v2.5.13 => v2.6.6)
quelle
Ich habe das gleiche Problem beim Ausführen.
composer install
Ich löse es, indem ich es im Composer-Verzeichnis
php composer.phar self-update
und dann in meinem Projektverzeichnis machecomposer update
quelle
Ich hatte das gleiche Problem. aber behoben, indem Composer heruntergeladen und von Grund auf neu installiert wurde.
quelle
Die Antwort von @ aimme sollte akzeptiert werden!
Ich würde seine Antwort mit @ david-baucums Kommentar erweitern, weil seine Erklärung klar ist!
Ich würde auch seine Antwort erweitern, dass Sie mehrere PHP-Versionen gleichzeitig ausführen können
ppa:ondrej/php
.Dann müssen Sie die PHP-Version nicht ändern. Rufen Sie den Komponisten einfach so auf:
/usr/bin/php7.2 /usr/local/bin/composer install
quelle
Entschuldigung für das "Diggy Up", aber ich habe dieses Problem nur mit einer Symfony3.8-Projektveröffentlichung auf Shared Hosting (PHP 7.3.18) gefördert ...
Ich habe dieses Problem gelöst, indem ich das PHP-Speicherlimit in den Befehlszeilenoptionen festgelegt habe.
php -dmemory_limit=-1 /path/to/the/executable
quelle
Wenn Ihr Code aus irgendeinem Grund nicht aktualisiert werden kann, ändern Sie einfach Ihren
switch ... continue
inswitch ... break
, da dies in früheren Versionen von PHP so funktionieren sollte.quelle
Um diesen Fehler zu beseitigen, müssen Sie in die Datei wp-config gehen und diese Codezeilen hinzufügen
define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0);
quelle