You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Volodymyr Panivko (Jira)" <ji...@apache.org> on 2026/09/05 13:15:00 UTC

[jira] [Closed] (THRIFT-1941) PHP Serializer deserialize doesn't work

     [ https://issues.apache.org/jira/browse/THRIFT-1941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Volodymyr Panivko closed THRIFT-1941.
-------------------------------------
    Resolution: Fixed

Regression coverage merged in https://github.com/apache/thrift/pull/3794 on 2026-09-05. The generated PHP struct round-trip through TBinarySerializer is covered by an integration test; existing runtime behavior already supports this scenario. Closing as fixed.

> PHP Serializer deserialize doesn't work
> ---------------------------------------
>
>                 Key: THRIFT-1941
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1941
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>            Reporter: Nathaniel Cook
>            Assignee: Volodymyr Panivko
>            Priority: Major
>         Attachments: thrift-1941.patch
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The deserialize function in TBinarySerializer.php writes a message header to the transport and then tries to deserialize the thrift object. Because the TBinaryProtocolAccelerated class requires a TBufferedTransport it wraps it. The result is that the written message header is in the write buffer of the transport and when the desializer tries to read the data it doesn't get the message header because its only in the write buffer. Calling flush on the transport explicitly after writing the message header fixes the issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)