serialize/unserialize and 32/64 bit integers

serialize/unserialize and 32/64 bit integers

am 03.05.2010 22:56:26 von James Crow

Hello,

I am having a problem with unserializing integers with Windows XP/PHP
5.2.11. The serialization takes place on a Linux x86_64 host. The values
then gets passed to the Windows machine that is 32 bit. I think the
problem is 32/64 bit related. If I serialize a number say 2600001234 on
32 bit Windows it becomes s:10:"2600001234". If I do the same from 64
bit Linux it becomes i:2600001234.

Is there a way to force it to serialize as a string on 64 bit PHP? If
it matters this is an index of an array.

Thanks,
James


--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: serialize/unserialize and 32/64 bit integers

am 04.05.2010 00:21:12 von Pierre Joye

hi James,

For the record: unlike the waste majority of unices, Windows x64
maximum integer in PHP (which uses the long C type ) is always 32bit,
signed (2^31 +/-).

Are you sure that you get s:10:"2600001234"? Using the latest 5.2 I
got: d:2600001234; (windows)

However, serialize is not supposed to be used to share data across
different hosts as the format can be architecture dependent. I would
suggest to use json instead, if your goal is to share data across
hosts.

Cheers,

On Mon, May 3, 2010 at 10:56 PM, James Crow wrote:
> Hello,
>
> =A0I am having a problem with unserializing integers with Windows XP/PHP
> 5.2.11. The serialization takes place on a Linux x86_64 host. The values
> then gets passed to the Windows machine that is 32 bit. I think the probl=
em
> is 32/64 bit related. If I serialize a number say 2600001234 on 32 bit
> Windows it becomes s:10:"2600001234". If I do the same from 64 bit Linux =
it
> becomes i:2600001234.
> =A0Is there a way to force it to serialize as a string on 64 bit PHP? If =
it
> matters this is an index of an array.
>
> Thanks,
> James
>
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



--=20
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php