Alors, avec selinux d'activé (setenforce 1) tu peux faire un
tail -f /var/log/audit/audit.log
et tenter un accès. Tu aura des lignes contenant le mot avc (qui est le cache où les autorisations selinux sont stockes), et denied. Si tu peux nous copier/coller ces lignes on pourra peut etre les déchiffrer.
Sinon il y a des outils assez bien foutu pour le faire mais vaut mieux valider ici avant de lancer leurs suggestions. Car trop ouvrir SELinux, c'est presque pire que de le désactiver complètement.
Si tu peux aussi nous donner le retour de
ls -lZ ~thierry/php/
En gros SELinux ce sont des règles en plus des classiques permissions/parefeux qui ajoutent une notion de contexte sur ce que tente de faire ta machine. Par ex, Apache, le contexte c'est que c'est un serveur web, et donc SELinux va interdire Apache d'acceder à des fichiers qui ne sont pas en rapport avec du web (ex un fichier de conf systeme etc). Donc c'est bien pour la sécurité. Mais ça demande un peu de conf dès que tu sors de l'usage standard. Ce qui est le cas avec ton public_html.
Avec le tail sur audit.log, et le ls -lZ (surtout le Z) on pourra vérifier que tes fichiers ont déjà le bon contexte, et surtout savoir qu'est-ce qui est reellement bloqué (denied par l'avc).