2017-08-23 1 views
0

Ich bin auf der Konsole von Symfony2 mit einem Belastungsverhalten konfrontiert. Ich habe eine lokale envinroment und wenn ich ausführen:Laden aller Fixtures Dateien in Symfony2 Konsole

php app/console doctrine:fixtures:load 

Spülung Datenbank Laden Application \ Sonata \ UserBundle \ DataFixtures \ ORM \ LoadUserData Laden ApplicationNewsBundle \ DataFixtures \ ORM \ LoadAdvertisementData Laden ApplicationNewsBundle \ DataFixtures \ ORM \ LoadArticleData Lade ApplicationNewsBundle \ DataFixtures \ ORM \ LoadLiveBlogData Lade ApplicationNewsBundle \ DataFixtures \ ORM \ LoadVideoData

Ich lade den Code Heroku (der gleiche Code) und ich führen Sie den gleichen Befehl, aber ich die beiden ersten Vorrichtungen nur ausführen:

Spülung Datenbank

Laden Application \ Sonata \ UserBundle \ DataFixtures \ ORM \ LoadUserData Laden ApplicationNewsBundle \ DataFixtures \ ORM \ LoadAdvertisementData

an dieser Stelle, nehme ich an, dass etwas mit der Konfiguration verwendet ist, und ich auch ausgeführt, den Befehl auf dev Umgebung, aber mit dem gleichen Ergebnis.

php app/console --env=dev doctrine:fixtures:load 

Ich bin mit Symfony 2.6.9.

Antwort

0

Das Problem auf dem Weg verbunden war, wird der Name des Ordners ist DataFIxtures mit I in Großbuchstaben, so scheint es, dass mit vagabundierenden kein Problem in lokalen arbeiten, aber wenn ich Heroku verwenden Behälter nicht versteht dieser Pfad und es führt den Befehl nicht aus. Ändern des Namens das Problem ist gelöst.

0

Es gibt zwei offensichtliche Gründe, warum Sie dieses Verhalten können erleben:

  1. Falsche Dateiberechtigungen auf dem Remote-System

    prüfen, ob alle Befestigungs Dateien sind lesbar durch den Benutzer das Aufrufen PHP-Prozess sonst können sie nicht gefunden werden und daher nicht geladen werden.

  2. Veraltet Komponist Autoloader

    Wenn Sie einen optimierten Autoloader Dumpings mit -a/--classmap-authoritative oder --apcu und Sie haben danach eine neue Version mit neuen Befestigungs Klassen eingesetzt ... die neuen Klassen sind möglicherweise nicht in die Classmap noch nicht und werden nicht automatisch geladen. Um dieses Problem zu beheben, löschen Sie den Autoloader erneut, indem Sie composer dump-autoload -a ausführen.

Verwandte Themen