проблема с php5-memcache

601 views
Skip to first unread message

Alexey Bobok

unread,
May 4, 2009, 5:59:46 AM5/4/09
to highload-php-ru
[02-May-2009 15:46:09] PHP Warning: MemcachePool::set() [<a
href='memcachepool.set'>memcachepool.set</a>]: The lowest two bytes of
the flags array is reserved for pecl/memcache internal use in
/path/to/mcache.class.php on line 38

кто нибудь знает что ето?

модуль к php-memcache ставил из портов
/usr/ports/databases/pecl-memcache -> pecl-memcache-3.0.4
FreeBSD 7.1-RELEASE-p5
PHP 5.2.8

Konstantin Belov

unread,
May 4, 2009, 6:18:07 AM5/4/09
to highloa...@googlegroups.com

Скорее всего в set неверные перменные передаете (или неверном порядке)

Но без вашего кода сложно сказать, что у вас происходит?

Alexey Torochkov

unread,
May 4, 2009, 8:31:28 AM5/4/09
to highloa...@googlegroups.com
Что у вас передается в качестве третьего параметра (флага) set()?

В документации к параметру flags: The lowest byte of the int is
reserved for pecl/memcache internal usage (e.g. to indicate
compression and serialization status).

А судя по
if (*flags & 0xffff & ~MMC_COMPRESSED) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "The lowest two b...

у вас там что-то явно отличное от MEMCACHE_COMPRESSED


--
С уважением,
Торочков Алексей

Konstantin Belov

unread,
May 4, 2009, 10:00:04 AM5/4/09
to highloa...@googlegroups.com
Скорее всего пытаются передать время хранения (оно 4м параметром идет),
а третий может быть только FALSE или MEMCACHE_COMPRESSED
Третьего не дано :-)

Weirdan

unread,
May 4, 2009, 10:10:22 AM5/4/09
to highloa...@googlegroups.com


2009/5/4 Konstantin Belov <belo...@gmail.com>

а третий может быть только FALSE или MEMCACHE_COMPRESSED
Третьего не дано :-)
Ну почему же не дано? Три старших байта полностью в вашем распоряжении, главное — младший не трогать.


--
 Best regards,
     Bruce Weirdan                                     mailto:wei...@gmail.com

Konstantin Belov

unread,
May 4, 2009, 10:15:02 AM5/4/09
to highloa...@googlegroups.com
Weirdan wrote:
>
>
> 2009/5/4 Konstantin Belov <belo...@gmail.com
> <mailto:belo...@gmail.com>>
> mailto:wei...@gmail.com <mailto:wei...@gmail.com>
И зачем же его использовать?

Alexey Torochkov

unread,
May 4, 2009, 10:26:37 AM5/4/09
to highloa...@googlegroups.com
Там хранится служебная информация (тип данных и т.п.) - а условие,
описанное выше, как раз не даст вам написать туда херни всякой

Weirdan

unread,
May 4, 2009, 10:27:39 AM5/4/09
to highloa...@googlegroups.com


2009/5/4 Konstantin Belov <belo...@gmail.com>

И зачем же его использовать?

Ну это уж как фантазия разработчика подскажет. Можно, например, идентификатор сервера, который ключ сохранил, туда положить. Али еще что. 24 бита на дороге не валяются, найдутся применения =)

Konstantin Belov

unread,
May 4, 2009, 10:41:54 AM5/4/09
to highloa...@googlegroups.com
Weirdan wrote:
>
>
> 2009/5/4 Konstantin Belov <belo...@gmail.com
> <mailto:belo...@gmail.com>>
> mailto:wei...@gmail.com <mailto:wei...@gmail.com>
Ух ты, а я совсем и не догадывался, что Memcache::get возвращает и флаги :-)

http://ru.php.net/manual/en/function.memcache-get.php

Однако, спасибо :-)

Reply all
Reply to author
Forward
0 new messages