Cómo resolver la excepción de Symfony 5 durante el renderizado de una plantilla "Unimplemented date character "Y" in format "MMMM dd Y"

Cómo resolver la excepción de Symfony 5 durante el renderizado de una plantilla "Unimplemented date character "Y" in format "MMMM dd Y"

Después de un par de semanas de trabajar con PHP 7.4.8 pasé a PHP 7.4.11 en mi entorno Xampp, esto me obligó a instalar la nueva versión y mover todos los proyectos del directorio antiguo al nuevo, sin embargo, no copié el mismo archivo de configuración php.ini en la nueva versión, ya que pensé que funcionaría como esperaria sin tantas molestias. Bueno, no fue así 😆. Cuando comencé el proyecto, apareció la siguiente excepción en la página de inicio:

An exception has been thrown during the rendering of a template ("Unimplemented date character "Y" in the format "MMMM dd Y". Please install the "intl" extension for full localization capabilities.").

Esto comenzó a suceder después de la implementación del paquete twig/intl-extra en el proyecto. Afortunadamente, la solución es bastante simple en cualquier entorno, porque tal como describe el error, solo necesitas instalar/habilitar la extensión intl de PHP.

PHP en Xampp para Windows

Si estás utilizando PHP en Windows, probablemente utilizas XAMPP. Puedes corregir fácilmente este error modificando el archivo de configuración predeterminado php.ini ubicado en el directorio PHP en xampp:

; c:/xampp/php/php.ini
; Descomenta la extensión intl para habilitar el módulo intl
extension=intl

Después de descomentar la línea (simplemente elimina el punto y coma al principio de la línea), el módulo debería estar ahora activo. Solo necesitas reiniciar los servicios Apache y MySQL y funcionará ahora:

Xampp Restart Apache and MySQL

PHP en Ubuntu

En caso de que estés trabajando directamente en el servidor de Ubuntu, puedes instalar la extensión intl en la terminal. Primero, actualiza el repositorio:

sudo apt-get update

Luego, de acuerdo con la versión PHP del servidor, puedes instalarlo con los siguientes comandos:

# Si estas usando PHP 5.6
sudo apt-get install php5.6-intl

# Si estas usando PHP 7.0
sudo apt-get install php7.0-intl

# Si estas usando PHP 7.4
sudo apt-get install php7.4-intl

Después de instalar el módulo, no olvides reiniciar Apache:

sudo service apache2 restart

Y el problema debería desaparecer también en este entorno.

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable