Github user RobberPhex commented on a diff in the pull request:
https://github.com/apache/thrift/pull/1401#discussion_r147052177
--- Diff: lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp ---
@@ -709,6 +715,9 @@ void binary_serialize(int8_t thrift_typeID,
PHPOutputTransport& transport, zval*
throw_tprotocolexception("Attempt to send non-object type as a
T_STRUCT", INVALID_DATA);
}
zval* spec = zend_read_static_property(Z_OBJCE_P(value), "_TSPEC",
sizeof("_TSPEC")-1, true);
+ if (spec) {
--- End diff --
I think `Z_TYPE_P(prop) == IS_REFERENCE`
---