我已经memcached
安装了libmemcached.我也安装了igbinary
.
这是我的php.ini:
; Directory in which the loadable extensions (modules) reside.
;extension_dir = "./"
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
extension=apc.so
apc.enabled=1
apc.shm_size=128M
extension=memcached.so
session.save_handler=memcached
session.save_path="127.0.0.1:11211"
extension=igbinary.so
session.serialize_handler=igbinary
igbinary.compact_strings=On
Run Code Online (Sandbox Code Playgroud)
.
当我运行phpinfo()时,我看到启用了igbinary,但没有启用memcached:
apc
Serialization Support php, igbinary
igbinary
igbinary support enabled
igbinary version 1.1.1
igbinary APC serializer ABI 0
Directive Local Value Master Value
igbinary.compact_strings On On
Run Code Online (Sandbox Code Playgroud)
关于memcached的Phpinfo():
memcached
memcached support enabled
Version 1.0.2
libmemcached version 0.51
Session support yes
igbinary support no
Run Code Online (Sandbox Code Playgroud)
最后一行:igbinary support
这就是问题所在.奇怪的是,正如你在标题apc下看到的那样:Serialization …
当我从CLI执行phpinfo()或php -i时,我得到以下输出:
session
Registered save handlers => files user sqlite memcached
Registered serializer handlers => php php_binary wddx
Run Code Online (Sandbox Code Playgroud)
我不知道PHP序列化支持二进制格式,并且文档中似乎没有任何关于它的内容.
我打算使用igbinary进行会话序列化到memcached服务器,所以我想知道php_binary如何比较.
我正在尝试从我正在编写的应用程序中挤出每一位,我已经安装并配置了用于apc,会话等的序列化的igbinary.我想知道你们是否有任何实际的基准测试用php和memcached使用二进制协议.它有价值吗?
$memcache->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);
$memcache->setOption(Memcached::OPT_BINARY_PROTOCOL,true);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想将igbinary二进制序列化数据存储到MySQL中.要提高性能,最好使用TEXT或BLOB等.
突然我开始收到这个错误:
Warning: igbinary_unserialize_header: unsupported version: 538976288, should be 1 or 2 in ...
Run Code Online (Sandbox Code Playgroud)
在网上找不到任何东西,我的代码也没有任何错误!它可能是序列化数据。任何解决方案?
谢谢你 。
编辑 :
该代码是http://pear.php.net/package/Cache_Lite/redirected
这个包,我已经去除了serialize
和unserialize
功能,取而代之的他们igbinary_serialize
和igbinary_unserialize
。它有效,但有时无效。只是有时对于特定的序列化数据,所以问题可能来自作为对象的数据from mysql_fetch_object
我正在尝试安装phpredis扩展,但没有运气.
运行该命令后./configure --enable-redis-igbinary
,我收到以下错误:
检查igbinary包括... configure:错误:找不到igbinary.h
igbinary是使用PECL安装的,但看起来没有找到头文件.