当前位置:  开发笔记 > 编程语言 > 正文

php memcached错误

如何解决《phpmemcached错误》经验,为你挑选了3个好方法。

每次我尝试使用memcached的add()函数时,我都会收到以下错误:

A PHP Error was encountered

Severity: Warning

Message: MemcachePool::add(): The lowest two bytes of the flags array is reserved for pecl/memcache internal use

Filename: libraries/memcached_library.php

Line Number: 92

可能有什么不对?我正在使用这个库进行codeigniter:http://github.com/trs21219/memcached-library



1> Fanis..:

你是64位吗?它看起来像是pecl/memcache最近发现的错误:http://pecl.php.net/bugs/bug.php?id = 18567

它似乎与压缩标志有关.它不能再是布尔值,根据此源代码需要是一个整数

/**
 * The compressed argument on Memcache::add, Memcache::set and Memcache::replace takes
 * an integer not a boolean. Since pecl/memcache 3.0.3 booleans now leads to warnings like
 * The lowest two bytes of the flags array is reserved for pecl/memcache internal use
 */


完善.谢谢.我将压缩从TRUE更改为0,现在一切正常.

2> FlameStorm..:

可能是你的情况:使用memcache的一些手册,比如http://www.codeforest.net/how-to-install-memcached-on-windows-machine,有一个错误:

$memcache->add("key", $tmp, 30);

正确使用expiration seconds参数(这里30秒)是:

$memcache->add("key", $tmp, MEMCACHE_COMPRESSED, 30);

或者喜欢

$memcache->add("key", $tmp, false, 30);

正确示例的手册示例:http://zurmo.org/wiki/installing-memcache-on-windows
另请参阅文档http://php.net/manual/ru/memcache.add.php

对我来说这是关键.



3> Ankit Vishwa..:

您可以添加'false'作为第三个参数,它对我有用.

Warning (2): MemcachePool::add() [memcachepool.add]: The lowest two bytes of the flags array is reserved for pecl/memcache internal use

From:
return $this->memcache->add($name, $value, $expiry);

To:
return $this->memcache->add($name, $value, false, $expiry);

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有