2016-08-04 53 views
2

Kürzlich von 2.3.1 auf 2.8.7 auf einem Dev-Computer aktualisiert. Alles lief gut, bis ich eine neue Tabelle erstellen musste. Managed die yml fein über Lehre zu generieren: Mapping: convertSymfony2 Doktrin: generieren: Entitäten Chmod-Operation nicht zulässig

Als ich gekommen, um die Getter und Setter über Lehre zu schaffen: erzeugen: Entitäten ich diese:

[Symfony\Component\Debug\Exception\ContextErrorException] 
Warning: chmod(): Operation not permitted 

Und sonst nichts. Was nicht sehr hilfreich ist. Ist es ein chmod, dem ich @ irgendwo hinzufügen muss? Ich führe den Befehl als www-data aus und die Log-Ordner-Dateien sind auch www-Daten, also glaube ich nicht, dass es ein Debug-Datei-Erlaubnis-Problem ist.

Auch ist es etwas, das aktualisiert werden muss. Hier ist mein Komponist Datei:

"require": { 
     "php": ">=5.3.3", 
     "symfony/symfony": "2.8.*", 
     "doctrine/orm": "2.5.*", 
     "doctrine/doctrine-bundle": "1.6.*", 
     "twig/extensions": "1.3.*", 
     "symfony/swiftmailer-bundle": "~2.3", 
     "symfony/monolog-bundle": "~2.4", 
     "symfony/assetic-bundle": "~2.8", 
     "sensio/distribution-bundle": "~5.0", 
     "sensio/framework-extra-bundle": "^3.0.2", 
     "incenteev/composer-parameter-handler": "~2.0", 
     "snc/redis-bundle": "dev-master", 
     "predis/predis": "1.0.*", 
     "symfony/class-loader": "v2.8.*" 
    }, 
    "require-dev": { 
     "sensio/generator-bundle": "~3.0", 
     "symfony/phpunit-bridge": "~2.7" 
    }, 

Ich wünschte nur, die Debug war etwas mehr hilfreich in Bezug auf was es war es an der Zeit zu tun. Oder in welcher Datei/Zeile der Fehler aufgetreten ist.

+1

Wie haben Sie beheben Ihr Problem ?! Ich habe das gleiche Problem atm ... – Preciel

Antwort

0

Dies ist mehr eine Arbeit als eine Lösung.

Grundsätzlich in der Version ändern sie Code hinzugefügt, die Repository-Dateien ändern möchte. Da diese automatisch generiert werden, ist es in den meisten Fällen in Ordnung. Wenn Sie Code zu einem von ihnen hinzugefügt haben, was Sie tun sollten, insbesondere wenn Sie den Code als ein Benutzer außer www-Daten ändern, bricht es Dinge.

So, jetzt, wenn ich komme Getter und Setter Teil einer databsse Struktur Update zu tun, ich betreibe diese:

sudo find ./src/MyBunddle/SiteBundle/Entity -name '*.php' ! -name '*Repository.php' -exec chown www-data \{\} \; -print 

Nicht Idee, aber erhält die Arbeit erledigt.

Wenn Sie brauchen, um die Dinge wieder aus irgendeinem Grund ändert, können Sie es tun mit

sudo find ./src/MyBundle/SiteBundle/Entity -name '*.php' ! -name '*Repository.php' -exec chown youUser \{\} \; -print 

Sie können sie das Problem sehen, diskutieren hier:

https://github.com/doctrine/doctrine2/commit/caf30b889bb898620d843d1ec4940d01fa1d8877

0

Überprüfen Sie die cache Ordnerbesitz auch. Wenn es derselbe Benutzer ist, sollte es kein Problem sein. Immer noch einen Doppel-Check.

Wenn dies nicht funktioniert, deaktivieren Sie bitte safe_mode und überprüfen Sie es erneut.

+0

Ich habe das Problem ausgearbeitet. Der Cache-Ordner ist nicht fehlerhaft. Weder ist der Protokollordner. Beides sind Dinge, die ich als wahrscheinlich wahrscheinliche Probleme überprüfte. – Adi