Suite à une mise à jour du bundle Doctrine, une de mes requêtes retournait cette erreur alors qu'auparavant, il n'y avait aucun soucis de syntaxe. Nous allons voir ici la correction syntaxique à apporter pour qu'elle soit de nouveau compréhensible par Doctrine.
L'erreur complète est : [Symfony\Component\Debug\Exception\ContextErrorException] Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.
Cette erreur apparaît par exemple quand on utilise une ligne de commande Symfony. Elle s'affiche quand vous n'avez pas indiqué votre fuseau horaire dans le fichier php.ini.
Voir l'article complet
Si vous obtenez l'erreur « Class 'DOMDocument' not found in /vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php on line 52 » en lançant une ligne de commande Symfony ou bien l'erreur « ClassNotFoundException in XmlUtils.php line 52: Attempted to load class "DOMDocument" from the global namespace. Did you forget a "use" statement ? » en accédant à une page de votre projet via un navigateur, cela veut dire qu'il manque une extension PHP sur votre serveur.
Sur Symfony en environnement de production, il est recommandé d’activer les différents niveaux de cache. Nous allons voir ici comment installer et configurer APC. Il s’agit d’une extension PHP qui va gérer les différents niveaux de cache et permettre d’accélérer l’ensemble de l’application. A noter qu’APC n’est pas la seule solution, vous pouvez utiliser d’autres outils comme Memcache, etc.
Je vois souvent des personnes qui mettent les bibliothèques externes directement dans le bundle de leur application (dans src/Xxx/YyyBundle/Resources/public/*). Cette méthode pose problème car vous allez devoir gérer et mettre à jour vous-même les bibliothèques. Si vous n’utilisez que quelques bibliothèques, cela peut aller mais si elles sont nombreuses et dépendantes, cela peut devenir vite compliqué. Nous allons voir dans cet article comment confier le travail à Composer.