php - date_default_timezone_set no funciona, pero ini_set 'date.timezone' lo hace. ¿Por qué?

Como dice el título, ¿alguien puede explicar por qué el código

ini_set( 'date.timezone', 'Europe/Athens' );

trabaja pero

date_default_timezone_set( 'Europe/Athens' );

¿no?

Estaba buscando una solución para convertir una marca de tiempo y todo lo que pude encontrar en la web fue usardate_default_timezone_set. Pero la conversión siempre tuvo 1 hora de diferencia.

Entonces encontré este tema "strftime() función que muestra el tiempo incorrecto"que utiliza el código init_set (y luego he RTM y descubrí que ya se mencionó en la documentación). Lo probé y funcionó.

Pero no he encontrado una respuesta por quédate_default_timezone_set no está trabajando.

¿Alguien puede explicar por favor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta