Autoloader erwartete Klasse Symfony2

7

Ich verwende Symfony 2.3 Framework und der Autoloader behauptet, die Datei gefunden zu haben, aber keine Klasse:

%Vor%

Die Datei, auf die sie sich bezieht, wird unten angezeigt:

%Vor%

Wie auch immer, einige Details, die helfen könnten, waren, dass ich Doctrine kürzlich installiert und die Befehle ausgeführt habe ...

%Vor%

Nach diesen Befehlen hat symfony nicht mehr funktioniert. Ich weiß nicht, ob das ein seltsamer Bug ist oder so. Wenn Sie mehr Informationen benötigen, kann ich posten. Danke für jede Hilfe.

    
Dr.Knowitall 12.06.2013, 05:14
quelle

11 Antworten

17

Fehlendes (oder kurzes) PHP-öffnendes Tag kann auch diesen Fehler verursachen. Ja, es hört sich komisch an, aber wenn Sie nur dem Beispiel von Symfony folgen und die ganze Klasse kopieren / einfügen, bemerken Sie das vielleicht nicht (wie ich es nicht tat).

    
MilanG 10.11.2014 13:07
quelle
5

Dies ist jetzt ein wenig alt, aber falls jemand durch die Suche hierher kommt: Dies ist zweifellos ein Cache-Problem. Löschen Sie manuell den Inhalt von app / cache / dev und app / cache / prod, und alles sollte gelöst werden.

    
AJ Cerqueti 28.08.2013 10:41
quelle
2

Wenn jemand anderes dieses Problem hat und nicht durch Löschen des Caches verschwindet, dann empfehle ich, den gesamten Ordner mit den Composer-Abhängigkeiten zu entfernen und composer install erneut auszuführen.

Es hat für mich funktioniert :).

    
Radu Murzea 29.09.2015 13:24
quelle
0

Ich denke, es gibt einen Fehler in Symfony2. Sie haben vor kurzem auf eine neue Version (2.3.1) von Symfony aktualisiert, von der ich denke, dass sie etwas kaputt gemacht haben muss. Wie auch immer, ich musste // die neue Zeile Sensio \ Bundle \ FrameworkExtraBundle \ SensioFrameworkExtraBundle () in der Datei AppKernel.php auskommentieren, um den Fehler zu beheben.

    
Dr.Knowitall 12.06.2013 05:34
quelle
0

Stellen Sie sicher, dass Ihr Namespace in der Klasse definiert ist, die Sie verwenden möchten. Zum Beispiel hatte ich in meinem Controller:

%Vor%

Dies war der korrekte Pfad zu meiner AmazonProductAPI-Klasse, aber das System erkannte es erst, als ich der Klasse den richtigen Namespace hinzugefügt hatte:

%Vor%     
jwBurnside 23.05.2015 22:42
quelle
0

Antwort von @Mailand hat mir geholfen! Ich habe meine PHP-Konfiguration von

umgeschaltet %Vor%

bis

%Vor%     
develth 17.02.2016 09:43
quelle
0

Ich habe dieses Problem gelöst, indem ich ein zusätzliches \ vor Doctrine wie folgt entfernt habe:

%Vor%

Ich habe das Dienstprogramm generate:doctrine:entity verwendet, um sowohl die Entity als auch die orm.xml -Datei zu erstellen. Dieses Dienstprogramm scheint einen Fehler zu haben und fügt wie oben in der XML-Datei ein zusätzliches \ hinzu. Das Entfernen dieses zusätzlichen Backslash \ hat mein Problem gelöst. Überprüfen Sie daher Ihre orm.xml -Datei, nachdem Sie den Befehl php app/console doctrine:generate:entity verwendet haben, um sicherzustellen, dass im Pfad keine zusätzlichen Backslashes vorhanden sind. Dieser Fehler wurde möglicherweise in den späteren Versionen von Symfony behoben, aber nur für den Fall, dass Sie diesen Fehler erhalten, könnte dies der Grund sein.

    
Vasu 21.03.2016 17:12
quelle
0

In meinem Fall war es ein Tippfehler im Klassennamen. Ich habe einen Fehler in AssetsCommand.php erhalten, als der Klassenname AsssetsCommand

genannt wurde

Stellen Sie sicher, dass der Basisname der Klassendatei mit dem Klassennamen identisch ist.

    
Steven Pribilinskiy 18.01.2017 19:34
quelle
0

Fühlte mich so an, als ob jede Antwort, die ich las, es lösen würde, aber nicht. In meinem Fall war es letztendlich OpCache. Ich habe es während der Entwicklung aktiviert. Die Lösung besteht darin, entweder PHP-FPM oder Httpd (bei Verwendung von mod_php) jedes Mal neu zu starten, wenn eine Änderung an der Codebasis vorgenommen wird oder OpCache vollständig deaktiviert wird.

    
Czar Pino 21.04.2017 15:28
quelle
0

Es passiert mir, wenn ich einen falschen Namensraum deklariere.
Beispiel: Namespace AppBundle \ Controller ;

, aber die Klasse befindet sich in diesem Pfad: AppBundle \ RestController

    
Daniele Dolci 06.10.2017 13:08
quelle
0

Wenn dieser Fehler auftritt, sollten Sie Ihre Dateinamen auf Tippfehler überprüfen. In meinem Fall jedoch hieß es "Die Datei wurde gefunden, aber die Klasse war nicht drin, der Klassenname oder Namespace hat wahrscheinlich einen Tippfehler ", in der Tat war der Dateiname nicht korrekt (" Von "anstelle von" Form ")

    
ACs 02.11.2017 11:40
quelle

Tags und Links