2017-02-02 3 views
0

Meine Projektarbeit ist gut unter Windows. Wenn ich versuche, Projekt auf Ubuntu auszuführen, habe ich Fehler "Class ... nicht gefunden" Im mit Silex, Silex-Klassen und anderen Hersteller Klassen ist in Ordnung.Es ist zu finden. Aber meine Klassen finden nicht. Ich habe Composer Autoload verwendet. Ich behebe mein Problem von Komponist comand "Komponist dumpautoload - optimieren" aber es ist nicht ok ?!Inccorect Arbeit Namespaces und Komponist Autoload

Warum ist das?

PS Fenster (Openserver - PHP 5.6) ubuntu (LAMP - PHP 7.0)

Projekt here

+0

Stellen Sie sicher, dass die Ordnernamen Ihre automatisch geladenen Dateien haben das richtige Gehäuse. Windows-Dateisystem kümmert sich nicht um das Gehäuse, * nix Systeme tun ... Unter Windows: 'einige/Ordner' ==' Einige/Ordner', während auf * nix: 'einige/Ordner'! =' Einige/Ordner '. Dasselbe gilt für die Dateinamen –

+0

@MagnusEriksson und "composer dumpautoload --optimize" - Kann es sich darauf auswirken? – Vitaxxxa

+0

Es hängt davon ab, ob das das Problem war. Überprüfen Sie Ihr Gehäuse und versuchen Sie es. Verwenden Sie den automatischen Ladevorgang von psr-0 oder psr-4? –

Antwort

0

Vergewissern Sie sich, dass die Auto geladene Dateien und Ordner haben die richtigen (die gleichen) Gehäuse wie die Namespaces und Klasse snames. Windows-Dateisystem kümmern sich nicht um das Gehäuse, * nix-Systemen zu tun ...

Unter Windows:

some/folder == Some/Folder 

Während auf * nix:

some/folder != Some/Folder