[RESOLU] Symfony 2 on CentOS (VPS) + Failed to write cache file


#1

Bonjour,

je viens d’installer un serveur VPS avec CentOS 7.1 (chez OVH)

J’ai ensuite installé Apache/PHP/MySQL via le tuto suivant :

http://tecadmin.net/install-php-7-apache-2-4-mysql-on-centos-rhel/#

J’ai suivi tout ce qu’il fallait pour les autorisations du cache

$ rm -rf app/cache/*
$ rm -rf app/logs/*

$ HTTPDUSER=ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:whoami:rwX app/cache app/logs
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:whoami:rwX app/cache app/logs

Et impossible a faire fonctionner. J’obtiens (selon certaines manip) les erreurs suivantes :

[Mon Jun 27 23:58:14.903582 2016] [:error] [pid 10788] [client xxx.xxx.xxx.xxx:53434] PHP Fatal error: Uncaught RuntimeException: Failed to write cache file

ou

[Tue Jun 28 00:18:52.965432 2016] [:error] [pid 11174] [client xxx.xxx.xxx.xxx:53617] PHP Fatal error: Uncaught RuntimeException: Unable to create the cache directory

Si quelqu’un peut m’aider svp ça serait cool. Je suis a court d’idée :(

Voici les droits sur les répertoires :
(idem avec root:root sur les répertoires cache et logs)

-rw-r–r--. 1 root root 141 27 juin 15:16 AppCache.php
-rw-r–r--. 1 root root 1459 27 juin 15:16 AppKernel.php
-rw-r–r--. 1 root root 267 27 juin 15:16 autoload.php
-rw-r–r--. 1 root root 98154 27 juin 15:21 bootstrap.php.cache
drwxrwxrwx+ 2 apache apache 21 27 juin 23:59 cache
-rw-r–r--. 1 root root 3958 27 juin 15:21 check.php
drwxr-xr-x. 2 root root 4096 27 juin 15:16 config
-rwxr-xr-x. 1 root root 867 27 juin 15:16 console
drwxrwxrwx+ 2 apache apache 21 27 juin 23:59 logs
-rw-r–r--. 1 root root 1298 27 juin 15:16 phpunit.xml.dist
drwxr-xr-x. 3 root root 18 27 juin 15:16 Resources
-rw-r–r--. 1 root root 31318 27 juin 15:21 SymfonyRequirements.php

Merci !


#2

On m’a aidé à trouver la solution.

Je vous la donne, ça pourrait surement aider quelqu’un un jour.

Le soucis vient de selinux (je sais pas trop ce que c’est)

Il faut le désactiver.

vim /etc/selinux/config

et modifier la ligne suivante

SELINUX=permissive

par

SELINUX=disabled

vous sauvegardez le fichier, un petit reboot du serveur… et c’est résolu.

:)


#3

Oui, je valide. J’avoue que cela m’a aidé après 24h de recherches infructueuses.
Ah, sacré SELINUX !
Chapeau !!


#4

Content que ca puisse aider !

Moi ca a duré 3 jours !


#5

Merci beaucoup @youval. tu es un ange!. Je ne pouvais même pas imaginer que ce problème pouvais provenir de selinux. Mais helas! on apprend chaque jour . Merci encore pour le partage de tes connaissances :)