2017-05-17 11 views
0

i am Projekt im fortgeschrittenen yii2 gearbeitet haben, funktioniert es in localhost in Ordnung, aber nachdem ich es laden dort eine Meldung angezeigt, die besagt:YII2: kartik Select2

Class 'kartik \ select2 \ select2' nicht gefunden

das seltsame ist: select2 arbeitet in localhost fein und ich laden alle Dateien

enter image description here

+0

Bitte fügen Sie den Code ein, der den Fehler verursacht. Vermutlich fehlt dir die use-Anweisung. – Chux

Antwort

0

ich gehe davon aus, tha t du hast nicht so etwas wie "auf localhost kartik select2 herunterladen, dann kopiere einfach & einfügen /vendor/kartik-v/yii2-widget-select2 auf server. Ich hoffe. Weil du das nicht tun solltest.

Fügen Sie diese Zeile Abschnitt in Projekt-Verzeichnis/composer.json Datei

"kartik-v/yii2-widget-select2": "@dev" 

Dann führen Sie in Projektverzeichnis Befehl erfordern:

composer update 
0

Wenn Sie keinen Zugriff auf einen Befehl haben Um den Befehl composer update auszuführen, müssen Sie den Ordner "vendor/composer /" und die Datei "vendor/autoload.php" auf Ihren Webserver laden.

0

Wenn Ihr Code zur Produktion zu bewegen, müssen Sie alle Bibliotheken mit

composer install 

oder

php composer.phar install 

Dann wird die gleichen Versionen von Bibliotheken, die von Komponisten verwendet installieren, wie auf Ihrer dev Website erhalten installiert, wo Sie haben die Anwendung getestet.

Dies ist der Grund, warum in .gitignore die Datei composer.lock NICHT enthalten ist: Nur um die gleichen lib-Versionen auf dev- und prod-Seiten zu gewährleisten.

0

Ihre Lösung könnte sein:

use kartik\select2\Select2; 

Mag sein, Sie Windows auf localhost und Linux auf Remote-Server.

+0

* Vielleicht * gehört nicht zu einer Antwort. Machen Sie zuerst klar, was das Problem ist, indem Sie OP im Kommentarbereich fragen. Und erst danach, wenn Sie das Problem vollständig verstehen und eine funktionierende Lösung für dieses spezielle Problem haben (also kein Raten enthalten), schreiben Sie das als Antwort. Ansonsten posten Sie keine Antwort, sondern können Sie etwas in den Kommentaren vorschlagen. –

+0

Lassen Sie den Fragesteller entscheiden, ob dies die Lösung ist, die für ihn funktioniert. Ich bin auf das gleiche Problem gestoßen und durch obige Lösung behoben, also hoffe ich, dass es auch dem Fragesteller hilft. Oder wenn nicht er, dass es die Lösung für zukünftige Benutzer sein kann, die zu stackoverflow kommen. – OWS

+0

* Möglicherweise verwenden Sie Windows auf localhost und Linux auf remote server. * - aber Sie sind nicht sicher ** wenn ** OP Situation ist die gleiche wie Ihre, so dass Sie raten und das ist ** nicht ** Teil einer Antwort! Löschen Sie alle Ratschläge und Missverständnisse in den Kommentaren und nur ** danach ** posten Sie eine Antwort. Sonst wird es zu einem Durcheinander von mehreren Antworten kommen, so dass die Frage Qualität verliert, das gleiche gilt für StackOverflow. Und das ist, was Kommentare sind. * Oder wenn nicht er, dass es die Lösung für zukünftige Benutzer sein kann, die zu Stackoverflow kommen.* - aber eine Antwort-Shell löst nur dieses ** Problem und nicht * irgendetwas *. –

Verwandte Themen