Skip to content

Cannot serialize IntlTimeZone objects #7939

Closed
@drjayvee

Description

@drjayvee

Description

The following code:

<?php
$tz = IntlTimeZone::createTimeZone('Europe/Amsterdam');
$tz = unserialize(serialize($tz));

var_export($tz->getId());

Resulted in this output:

false

But I expected this output instead:

'Europe/Amsterdam'

It looks like the implementation of __serialize is broken, as the string doesn't contain any object data:

echo serialize(IntlTimeZone::createTimeZone('Europe/Amsterdam'));
// outputs O:12:"IntlTimeZone":0:{}

PHP Version

PHP 7.4.27 (cli) (built: Dec 21 2021 21:31:45) ( NTS )

Operating System

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions