Page blanche suite à un déploiement en production Symfony
Christopher | 22 décembre 2016Ne paniquez pas. L’affichage d’une page blanche provient la plupart du temps des mêmes causes. Soit vous avez oublié d’accorder les droits d’écritures sur certains dossiers, soit vous avez oublié de vider le cache.
Permissions
Allez sur votre application dans un navigateur en environnement de production, puis regardez dans le dossier app/cache/prod. S’il est vide, cela signifie que vous avez oublié d’accorder les droits d’écritures sur le dossier de cache. Tapez la commande :
chmod 777 -R app/cache/
Faites la même chose pour le dossier de log : app/logs. Si aucun fichier de log n’apparaît dedans ou bien si le fichier existe mais ne change pas de taille quand vous accédez à votre application, cela veut dire qu’il s’agit toujours d’un problème de permission. Tapez la commande :
chmod 777 -R app/logs/
Attention : la commande donnée pour les 2 cas ci-dessus permet de résoudre le problème rapidement mais n’est pas la meilleure solution à long terme. Les solutions données permettent de définir de manière plus fines les permissions accordées.
Cache
La page blanche peut également provenir d’un cache non mis à jour suite au déploiement. Tapez la commande :
php app/console cache:clear --env=prod
Vous pouvez également supprimer tout le contenu du dossier manuellement.
Autres cas
En règle générale, les 3 cas ci-dessus sont à l’origine de la fameuse page blanche. Si vous avez toujours une page blanche, cela veut dire qu’il y a une erreur dans votre code et qu’une exception est levée.
En environnement de production, les erreurs ne sont pas affichées. La solution est d’aller lire les logs. L’erreur devrait y être indiquée, il ne vous reste « plus qu’à » la corriger.