Ich habe Lampp 1.8.1 in /opt/lampp installiert. Alles funktioniert gut.
Ich habe meinen aktuellen Benutzer als Eigentümer zum Ordner "htdocs" hinzugefügt, damit ich in den Ordner "htdocs" schreiben kann.
dann habe ich mein symfony2 projekt erstellt. Alles hat gut funktioniert und ich konnte die Konfigurationsseite richtig ausführen.
aber als ich den Cache mit Befehl geleert habe
sudo php app/console cache:clear --env=prod
sudo php app/console cache:clear --env=dev
Der Cache wird geleert, aber dann gibt es ein Berechtigungsproblem. Wenn ich versuche, auf dieselbe Konfigurationsseite wie zuvor zuzugreifen, wird im Browser ein Fehler angezeigt:
"RuntimeException: Fehler beim Schreiben der Cache-Datei" /opt/lampp/htdocs/Symfony/app/cache/dev/classes.php "."
aber dann, wenn ich die Berechtigungen des Cache-Ordners wieder ändere, indem ich:
sudo chmod -R 777 app/cache
Die Seite wird wieder richtig angezeigt
Ich möchte die Berechtigungen nicht jedes Mal ändern, nachdem ich den Cache geleert habe. Gibt es eine Lösung oder mache ich etwas falsch?
quelle
ls -l app/cache
nachdem Sie den Cache geleert haben?Antworten:
Siehe "Einrichten von Berechtigungen" unter http://symfony.com/doc/current/book/installation.html#configuration-and-setup . Mein bevorzugter Weg in Ubuntu ist setfacl, es funktioniert (ich muss nur ein Paket zum ersten Mal installieren):
quelle
sudo apt-get install acl
wenn es keinen Befehl setfacl auf Ihrem Host gibtMit symfony3
funktioniert bei mir.
quelle
Wenn der Benutzer keine Root-Rechte hat, ist dies korrekt
dieses Beispiel
funktioniert nur, wenn der aktuelle Benutzer über root verfügt und dies ein Weblog-Benutzer ist (wenn wir dies über das Root-Konto tun - Berechtigungen schlagen fehl - wird $ whoami als Benutzername verwendet
Dies ist Sudo-Benutzer für Symfony 4
quelle