[
https://issues.apache.org/jira/browse/THRIFT-1580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18112803#comment-18112803
]
Sylwester Lachiewicz edited comment on THRIFT-1580 at 9/8/26 1:45 PM:
----------------------------------------------------------------------
The reporter's follow-up shows {{PHP_INT_MAX}} of 9223372036854775807 on
x86_64, so this was 64-bit PHP and the 32-bit arithmetic behind THRIFT-1538
does not explain it. What is left is a 2012 report against Thrift 0.8 and PHP
5.3 with no reproducer, against a PHP library since rewritten — namespaced,
typed, {{readI64(?int &$i64)}}. Resolving as Cannot Reproduce; please reopen
with a reproducer against a current release if this is still live.
was (Author: slachiewicz):
Same root cause as THRIFT-1538: i64 values exceed 32-bit PHP's integer range;
32-bit PHP is long EOL. Closing as Won't Fix (see also THRIFT-1538).
> thrift type i64 java to php serialize/deserealize not working
> -------------------------------------------------------------
>
> Key: THRIFT-1580
> URL: https://issues.apache.org/jira/browse/THRIFT-1580
> Project: Thrift
> Issue Type: Bug
> Components: PHP - Library
> Affects Versions: 0.8
> Environment: "Ubuntu Server Cloud Guest 11.10 (Oneiric Ocelot)" -
> this for AWS
> Nginx + PHP5-FPM
> Reporter: Sergei Labutin
> Priority: Major
>
> I create struct
> struct Request \{
> 1: optional i64 uid,
> 2: optional string name
> \}
> on java client make serealize. On PHP without extention deserealize and have
> uid as null.
> Any other types work normally:
> struct Request \{
> 1: optional i32 uid,
> 2: optional string name
> \}
> struct Request \{
> 1: optional string uid,
> 2: optional string name
> \}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)