【发布时间】:2012-07-11 04:21:51
【问题描述】:
我的 Thrift 服务期望接收一个表示时间戳的长整数(以毫秒为单位),但来自 PHP,我知道 PHP thrift 应该自动将我的 PHP 类型转换为 thrift 类型,但它期望哪种 PHP 类型用于长整数?我认为我的计算机是 64 位的,但由于我认为 PHP 整数的长度取决于平台,所以我真的不想依赖平台相关的长度来处理我的整数。
我目前正在获取 microtime() 并乘以 1000,然后转换为整数。这是使用 PHP 和节俭长整数的“正确”方式吗?
【问题讨论】:
-
不完全是我的问题。 Thrift 神奇地将类型转换为 thrift 类型,但我不知道它愿意转换哪些类型。正如我所说,我真的不想指望我拥有 64 位架构。
-
为什么必须是整数?字符串有什么问题?你是如何与thrift沟通的?通过 HTTP 或者是否有一些 PHP 扩展可以让您通过其他协议与其通信(我不知道 Thrift 是什么,谷歌产生 Apache Thrift)?如果你所要做的只是传递一个 PHP 与它没有任何关系的数字,我认为没有理由在 PHP 中强制使用类型。
-
是的,apache thrift [thrift.apache.org/] 我正在做的工作需要长整数有几个原因——其中一个原因是我们通过生成随机长整数来获得概率唯一性,这要少得多可能是唯一的,数量较少。长话短说,我需要在 php 中有长整数。另外,接口是别人定义的,不能只用字符串。
标签: php long-integer thrift