我正在使用facebook PHP SDK版本3.事实证明它不适用于32位系统,因为SDK将facebook ids转换为整数,并且id可能大于2147483647,即32位系统最大整数值.
我也在这里找到了问题https://github.com/facebook/php-sdk/issues/11
有没有人对此有"不那么hacky"的解决方案?
有一个解决方法.只需将整数更改为字符串
找到这一行
$user = $signed_request['user_id'];
Run Code Online (Sandbox Code Playgroud)
并将其更改为
$user = (string) $signed_request['user_id'];
Run Code Online (Sandbox Code Playgroud)
并找到
$user = $this->getUserFromAccessToken();
Run Code Online (Sandbox Code Playgroud)
并将其更改为
$user = (string) $this->getUserFromAccessToken();
Run Code Online (Sandbox Code Playgroud)
并找到
$user = $this->getPersistentData('user_id', $default = 0);
Run Code Online (Sandbox Code Playgroud)
改为
$user = (string) $this->getPersistentData('user_id', $default = 0);
Run Code Online (Sandbox Code Playgroud)
它有效.Int无法在32位系统上处理如此长的用户ID,这就是为什么它会出现问题
归档时间: |
|
查看次数: |
416 次 |
最近记录: |