Ich habe ein Skript, das ich mit PHP Artisan (mit Root- Benutzer) ausführe , und manchmal wird die tägliche Protokolldatei erstellt, bevor der Apache - Benutzer www-data dies tut. Das bedeutet, dass ich bekomme, wenn ein echter Benutzer meine Webanwendung verwendet der Ordnerberechtigungsfehler:
Fehler beim Öffnen des Streams: Berechtigung verweigert
Ich ändere die Berechtigungen jedes Mal wieder auf www-data , möchte dies jedoch lösen, indem die Protokolldatei immer mit den richtigen Berechtigungen erstellt wird.
Ich habe überlegt, einen Cron-Job zu erstellen, der die Datei erstellt oder berührt, um sicherzustellen, dass sie jeden Tag die richtige Berechtigung hat, aber ich suche nach einer besseren Lösung, die nicht auf einem anderen Skript basiert.
Wir haben auch darüber nachgedacht, PHP Artisan in ein anderes Skript zu packen, um sicherzustellen, dass es immer mit den Anmeldeinformationen für www-Daten ausgeführt wird. Wir möchten jedoch tatsächlich Root- Prozeduren ausführen, die Apache nicht ausführen darf.
Noch Vorschläge?
php artisan
als Benutzer ausgeführt werden, für den Sie die Protokolldatei erstellen möchten.
sudo crontab -u www-data -e
cron
Job intouch
einer neuen Protokolldatei ein (natürlich unter dem richtigen Benutzer).