首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >会话序列化器igbinary

会话序列化器igbinary
EN

Stack Overflow用户
提问于 2016-05-30 13:55:30
回答 1查看 261关注 0票数 1

使用Aerospike作为PHP会话的后端,我希望将默认序列化程序从"php“更改为”ig二进制“。

这是我的堆栈:

  • Linux Debian Jessie 8.4
  • PHP 5.6.20
  • 机场服务社区服务器v3.8.2.3
  • PHP客户端库v3.4.8
  • Igbinaryv1.2.1

下面是一个用于测试的简单示例PHP脚本:

代码语言:javascript
复制
<?php

ini_set('display_errors', 'on');
ini_set('error_reporting', E_ALL);
ini_set('session.save_handler','aerospike');
ini_set('session.save_path','sessions|sess|127.0.0.1:3000');

// Start session
session_start();

// Write session
$_SESSION['test'] = time();

// Read session
$db = new Aerospike(["hosts" => [[ "addr" => "127.0.0.1", "port" => 3000 ]]]);
$key = $db->initKey('sessions', 'sess', session_id());
$status = $db->get($key, $record);

echo htmlentities($record['bins']['PHP_SESSION']);

这如预期的那样起作用。在这里,输出:

代码语言:javascript
复制
test|i:1464615088;

例如,如果我用wddx更改会话序列化程序,它仍然有效:

代码语言:javascript
复制
<?php

[...]

ini_set('session.save_handler','aerospike');
ini_set('session.save_path','sessions|sess|127.0.0.1:3000');
ini_set('session.serialize_handler', 'wddx');

[...]

这是输出:

代码语言:javascript
复制
<wddxPacket version='1.0'><header/><data><struct><var name='test'><number>1464615227</number></var></struct></data></wddxPacket>

但是,当我用ig二进制更改序列化程序时,如下所示:

代码语言:javascript
复制
<?php

[...]

ini_set('session.save_handler','aerospike');
ini_set('session.save_path','sessions|sess|127.0.0.1:3000');
ini_set('session.serialize_handler', 'igbinary');

会话值未保存(在aerospike中找不到行)。这是输出:

代码语言:javascript
复制
Notice: Undefined index: bins in /var/www/test.php on line 42

请注意,igbinary似乎与默认的PHP会话后端(文件)很好地工作。

代码语言:javascript
复制
#ini_set('session.save_handler','aerospike');
#ini_set('session.save_path','sessions|sess|127.0.0.1:3000');
ini_set('session.serialize_handler', 'igbinary');

[...]

echo $_SESSION['test'];
$_SESSION['test'] = time();

这输出"1464615840“左右(刷新后),如预期。

,我是不是遗漏了一些配置选项,以便将igbinary用作机场会话的序列化程序?

,有人已经成功地使用了ig二进制作为国际航空公司的序列化器吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-13 20:34:13

有一个开放的拉请求来修复它,很可能会在即将发布的PHP7兼容版本中推出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37527449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档