As the title says, can anybody explain why the code
ini_set( \'date.timezone\', \'Europe/Athens\' );
works but
date_default
You must be using an old version of PHP.
date_default_timezone_set is for PHP 5.1.2 and above.
Try php -v and check your PHP version.
php -v