Re: serialize/unserialize and 32/64 bit integers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <james@xxxxxxxxxxxxx> wrote:
> 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
>
>



-- 
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



[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux