2013-07-25 10 views
5

So nach der Migration auf Symfony v2.3 definiert werden ich die folgende Mitteilung erhalte, wenn ich versuche, meine Cache zu löschen:Symfony 2.3 Der Parameter „kernel.http_method_override“ muss

Der Parameter „kernel.http_method_override“ muss definiert.

Ich habe mich in Google umgesehen und alle sagen, die Cache-Verzeichnisse manuell zu löschen. Ich habe das getan und auch eine neue (saubere) Version bereitgestellt. Das Problem bleibt bestehen.

Kann jemand mehr Informationen zur Verfügung stellen, wie man das behebt?

Dank

+0

Wenn Sie sagen, dass Sie den Cache manuell gelöscht haben, meinen Sie "Befehl verwenden" oder "Cache-Ordner löschen" aus Ihrem Projekt? – Shady

+0

Ja, runnning rm -rf app/cache/* – mumia

+0

Und mit "neue saubere Version" meinen Sie, dass Sie nur die einfache Standard-Datei composer.json verwenden? Oder haben Sie alle Ihre Abhängigkeiten hinzugefügt? – Cerad

Antwort

0

Basierend auf dem Kommentar, dass der App in einem neuen Computer installiert wurde dann ist es nicht wahrscheinlich, dass der Cache ist ein Problem. Obwohl es ziemlich seltsam ist. Wie die Dokumentation (http://symfony.com/doc/current/reference/configuration/framework.html#http-method-override) zeigt, wurde dieser Parameter zu 2.3 hinzugefügt.

Wenn Sie suchen: Symfony \ Bundle \ FrameworkBundle \ FrameworkBundle sehen wir, dass dieser Parameter in der Bundle-Boot-Methode überprüft wird.

Von: Symfony \ Bundle \ FrameworkBundle \ DependencyInjection \ FrameworkExtension sehen wir, dass der Parameter dem Container mit dem Standardwert True während des Build-Prozesses hinzugefügt wird.

So scheint es, dass Boot vor dem Build-Prozess aufgerufen wird. Erwägen Sie, einige Die() -Anweisungen zum Framework-Code hinzuzufügen, nur um zu bestätigen, dass dies tatsächlich geschieht.

Dann würde ich vorschlagen, dass Sie versuchen, in Ihrem AppKernel gehen und die Einbeziehung aller Nicht-Standard-Bundles kommentieren. Es scheint so, als würde einer von ihnen mit dem Boot-Prozess herumspielen? Klingt unwahrscheinlich, aber vielleicht. Verwenden Sie einfach App/Konsole, um Ihre App zu starten. Bleib im Debug-Modus.

Die andere Option wäre, mit einer funktionierenden Standardanwendung zu beginnen und dann Ihre Bündel hinzuzufügen, bis das Problem wieder auftritt.

BTW, welche Version aktualisieren Sie und verwenden Sie Composer?

+0

Ich war in 2.2 und ich benutze Komponist. – mumia

+0

Ich werde eine saubere Standardinstallation versuchen und dann meine Abhängigkeiten eins nach dem anderen hinzufügen, um zu sehen, ob ich irgendwelche Täter fangen kann. Danke – mumia

+0

Achten Sie darauf, was auch immer Sie finden. Ab 2.2 sollte das Upgrade einfach sein. Ich bin nur neugierig darauf, was das Problem ist. – Cerad

14

Problem tritt nur auf, wenn Sie z. Rufen Sie "assets: install", "assetic: dump" auf, BEVOR Sie den Cache der vorherigen Version von symfony löschen.

So erklärt, warum das Problem "misteriously" verschwand. Löschen Sie den Cache-Ordner oder rufen Sie "cache: clear", , bevor Sie ausführen, führen Sie einen beliebigen anderen Konsolenbefehl aus.

+1

Vielen Dank ...Warum wird diese Antwort nicht als akzeptiert markiert ?! –

Verwandte Themen