Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Стол заказов » Настройка memcache на VPS для DLE 9.6

Настройка memcache на VPS для DLE 9.6


 kmv    10.06.2012    Стол заказов    9160    17 комментариев

На VPS установила memcache.so, phpInfo показывает, что memcache работает, при этом вот такой тест:
<?php
$memcache = new Memcache;
$memcache->connect('localhost',11211);
$memcache->set('key1', 'test111', false, 86400); // кэшируем на 1 день.
$get_result = $memcache->get('key1'); // получаем данные
print_r($get_result);
?>

выводит белый экран
в админке на главной сообщение:
Внимание:
Вы включили в настройках сервера кеширование Memcache, при этом по указанным в настройках скрипта параметрам, скрипту не удалось подключиться к Memcache. Проверьте работоспособность сервера Memcache, а также правильность настроек подключения к нему в настройках скрипта. В противном случае включите файловое кеширование в настройках скрипта.



Судя по-всему не хватает какой-то фиговины, которая соединяет memcache на сервере и его же в скрипте..
Что делать? Если решение слишком сложное - готова заплатить

17 комментариев

Andy80
Юзер

Andy80 - 10 июня 2012 10:53 -

Ну для начала попробуйте перезапустить VPS а если не поможет, тогда обратитесь в хост-провайдеру с вопросом к какому порту у них подключать memcache. ну и если порт соответствует и перезагрузка не помогла, обратитесь в ту же службу поддержки вашего хостинга с просьбой помочь. Думаю услуга будет платной (в среднем стоимость 500 рублей за час работы).

nowheremany
Эксперт

nowheremany - 10 июня 2012 11:40 -

Эм а в пхпини то мемкэш включен?

Благодарность принимаю тут Связь

kmv
Юзер

kmv - 10 июня 2012 19:20 -

в том пхпини, который к корне сервера я сделала запись
extension = memcache.so

Nick
Юзер

Nick - 11 июня 2012 14:00 -

kmv,
Было бы интересно послушать как Вы устанавливали memcached.

Два пакета ставили? (memcached & php5-memcached)

В php.ini отредактировали
session.save_handler = memcache
session.save_path="tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

?

Так же, полезно посмотреть, что сервер ответит на
ps ax | grep memcached

и на
php -i | grep memcache

kmv
Юзер

kmv - 11 июня 2012 18:44 -

да ставила два пакета
Цитата: Nick
Так же, полезно посмотреть, что сервер ответит на
ps ax | grep memcached
и на
php -i | grep memcache


php.ini отредактировала

ответ сервера на первую команду:
-bash-4.1$ ps ax | grep memcached
3266 pts/0    R+     0:00 grep memcached

на вторую:
-bash-4.1$ php -i | grep memcache                                                            
/etc/php.d/memcache.ini,
/etc/php.d/memcached.ini,
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 32768 => 32768
memcache.compress_threshold => 20000 => 20000
memcache.default_port => 11211 => 11211
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => consistent => consistent
memcache.lock_timeout => 15 => 15
memcache.max_failover_attempts => 20 => 20
memcache.protocol => ascii => ascii
memcache.redundancy => 1 => 1
memcache.session_redundancy => 2 => 2
memcached
memcached support => enabled
libmemcached version => 0.31
Registered save handlers => files user memcache memcached
-bash-4.1$

Nick
Юзер

Nick - 12 июня 2012 09:43 -

Цитата: kmv
bash-4.1$ ps ax | grep memcached
3266 pts/0    R+     0:00 grep memcached

У вас не запущен memcached.
ps ax выводит список работающих процессов.
По идее, должна быть ещё подобная надпись:
/usr/bin/memcached -m 256 -p 11211 -u memcache -l 127.0.0.1


Можете ещё попробовать посмотреть какой ответ будет на команду
memcached -h

Если memcached работает, то Вы увидите список команд.

Если не запущен, то надо попытаться запустить его. Команда запуска зависит от системы.
Можете попробовать
service memcached start


Если не заработает, то надо смотреть логи и пытаться понимать в чем проблема ;).

kronon
Юзер

kronon - 12 июня 2012 16:20 -

Дайте свои контакты я помогу.

kmv
Юзер

kmv - 12 июня 2012 20:36 -

Цитата: kronon
Можете ещё попробовать посмотреть какой ответ будет на команду
memcached -h
Если memcached работает, то Вы увидите список команд.

ответ сервера:
Last login: Mon Jun 11 18:36:16 2012 from 46.158.175.114
-bash-4.1$ memcached -h                                                                      
memcached 1.4.4
-p <num>      TCP port number to listen on (default: 11211)
-U <num>      UDP port number to listen on (default: 11211, 0 is off)
-s <file>     UNIX socket path to listen on (disables network support)
-a <mask>     access mask for UNIX socket, in octal (default: 0700)
-l <ip_addr>  interface to listen on (default: INADDR_ANY, all addresses)
-d            run as a daemon
-r            maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num>      max memory to use for items in megabytes (default: 64 MB)
-M            return error on memory exhausted (rather than removing items)
-c <num>      max simultaneous connections (default: 1024)
-k            lock down all paged memory.  Note that there is a
              limit on how much memory you may lock.  Trying to
              allocate more than that would fail, so be sure you
              set the limit correctly for the user you started
              the daemon with (not for -u <username> user;
              under sh this is done with 'ulimit -S -l NUM_KB').
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-vvv          extremely verbose (also print internal state transitions)
-h            print this help and exit
-i            print memcached and libevent license
-P <file>     save PID in <file>, only used with -d option
-f <factor>   chunk size growth factor (default: 1.25)
-n <bytes>    minimum space allocated for key+value+flags (default: 48)
-L            Try to use large memory pages (if available). Increasing
              the memory page size could reduce the number of TLB misses
              and improve the performance. In order to get large pages
              from the OS, memcached will allocate the total item-cache
              in one large chunk.
-D <char>     Use <char> as the delimiter between key prefixes and IDs.
              This is used for per-prefix stats reporting. The default is
              ":" (colon). If this option is specified, stats collection
              is turned on automatically; if not, then it may be turned on
              by sending the "stats detail on" command to the server.
-t <num>      number of threads to use (default: 4)
-R            Maximum number of requests per event, limits the number of
              requests process for a given connection to prevent
              starvation (default: 20)
-C            Disable use of CAS
-b            Set the backlog queue limit (default: 1024)
-B            Binding protocol - one of ascii, binary, or auto (default)
-I            Override the size of each slab page. Adjusts max item size
              (default: 1mb, min: 1k, max: 128m)
-bash-4.1$  

kmv
Юзер

kmv - 12 июня 2012 20:41 -

-bash-4.1$ service memcached start
Starting memcached:
touch: cannot touch `/var/lock/subsys/memcached': Permission denied

kmv
Юзер

kmv - 12 июня 2012 20:55 -

Так тут вроде как позитивненько продвигается
вот этот ответ был когда я вошла в систему под простым пользователем
а вот такой ответ под root:
-bash-4.1# service memcached start                                                                                                                                    &nb
sp;             
Starting memcached:

После чего memcache активировала в админке, и больше никаких ошибок, а как узнать что модуль действительно заработал?
Всем огромное спасибо за помощь wink

surcho
Юзер

surcho - 16 сентября 2012 01:35 -

Хотелось бы узнать, получилось ли у вас подключить memcache? А то мучаюсь уже целый день. Не могут установить сам memcache на vps сервер.

pavel31
Юзер

pavel31 - 30 декабря 2012 15:18 -

Да, у меня тоже не получается подключить к сайту memcache :(

Yamakasi
Юзер

Yamakasi - 4 июня 2015 18:52 -

не стал дублировать, подскажите как подрубить мемкеш на 10.2, в настройках стоит работать мемкеш и стандартно всё, на сервере тоже всё стоит, также в php всё стоит, то есть мемкеш работает и по стандартному порту, но у меня в админке пишет следующее:
Внимание:
Вы включили в настройках сервера кеширование Memcache, при этом по указанным в настройках скрипта параметрам, скрипту не удалось подключиться к Memcache. Проверьте работоспособность сервера Memcache, а также правильность настроек подключения к нему в настройках скрипта. В противном случае включите файловое кеширование в настройках скрипта.

Yamakasi
Юзер

Yamakasi - 5 июня 2015 18:53 -

ау народ))) неужели некто не пашет на мемкеше?

Yamakasi
Юзер

Yamakasi - 7 июня 2015 15:46 -

по поводу моего вопроса, отпадает вопрос, оказывается у хостера то в php настройках есть функция и его включить можно, но использовать в реале не смогу)) то есть на простом хостинге они не дают данную услугу, по этому и выходило сообщение...
значит мемкеш корректно работает в DLE, а то я думал нужно бубном постучать)))

AppFull.net
Юзер

AppFull.net - 20 июня 2016 15:24 -

Looks like dle use "memcache" not "memcached", so if we using PHP 7, we're fucked up. Any solution?

AppFull.net
Юзер

AppFull.net - 20 июня 2016 19:44 -

Alright, compiling from source works with PHP 7 ;)

https://github.com/websupport-sk/pecl-memcache

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх