2017-10-04 4 views
1

Ich habe eine CakePHP 3 App mit Shells, die ich von crontab starte. CakePHP 3 Cache File Permissions

Wenn ich die Schalen durch crontab ausführen, erstellt es Cache-Dateien, die vom Benutzer im Besitz der crontab ausgeführt wird, die nicht der Benutzer ist, dass Apache läuft ...

Manchmal, wenn ich die crontab die im Cache gespeicherten Modelle laufen im Besitz manchmal von apache und die Schale nicht, wenn ich eine Seite die Modelle sind im Besitz von EC2-Benutzer besuchen und die Seite nicht ...

gab ich eine Frage auf github, https://github.com/cakephp/cakephp/issues/11265#issuecomment-333951638

mir gesagt wurde, das zu ändern chmod-Option für die Cache-Konfiguration, habe ich Folgendes versucht, aber es hat nicht funktioniert ...

/** 
* Configure the cache adapters. 
*/ 
'Cache' => [ 
    'default' => [ 
     'className' => 'File', 
     'path' => CACHE, 
     'url' => env('CACHE_DEFAULT_URL', null), 
     'chmod' => 777 
    ], 

Irgendwelche Ideen, wie ich die Standard-Datei Berechtigungen 777 auf dem Kuchen Cache-Dateien machen kann?

+1

Wäre es nicht besser, [** schafft die crontab für/die crontab als die erforderlichen Benutzer ausgeführt **] (https: // stackoverflow.com/questions/8475694/how-to-specify-in-contab-by-what-user-to-run-script)? – ndm

Antwort

1

Ich würde vorschlagen, den Chron als den richtigen Benutzer laufen zu lassen ODER die Chron-Aufgabe Besitzer zu ändern und Berechtigungen wie festgelegt zu behalten, aber wenn Sie wirklich alles so haben wollen und nur die Berechtigungen ändern, dann können Sie die mask verwenden Option, die ich vermute, ist, was sie meinten.

Cache Config Options

Set folgende mit:

'Cache' => [ 
    'default' => [ 
     'mask' => '0777', 
     // other config options 
    ], 
]