Blog

Utilisation du cache fichier avec CakePHP 2.x

Depuis la version 2.0 de CakePHP, le cache par défaut utilise APC si disponible et le système de fichier sinon.

Il se peut que vous rencontriez des problèmes de droit sur ces fichiers temporaires, notamment si votre application contient à la fois des scripts exécutés par Apache (en mode web) et par l’utilisateur système (scripts en console).

Dans ce cas un fichier créé par l’un peut ne pas être lisible / modifiable par l’autre.

En pratique vous verrez apparaître l’erreur suivante :

La solution est de configurer correctement le « umask » à utiliser par le système de cache fichier de CakePHP. Les droits à appliquer dépendent de la configuration de chaque serveur (utilisateurs / groupes), nous illustrerons ici avec un umask à « 0022 ».

La configuration du umask se fait dans le fichier « app/Config/core.php » (~L307 et ~L320). Il vous faut ajouter la clé 'mask' => 0022" au tableau de configuration du cache du coeur de CakePHP :

[/crayon]
Pour plus d’informations vous pouvez consulter le ticket correspondant : http://cakephp.lighthouseapp.com/projects/42648/tickets/2172