Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Хранить сессии в memcache

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
9 posts • Page 1 of 1
nitsik
Posts: 94
Joined: Mon Nov 30, 2015 9:01 pm

Os: Debian 7x
Web: apache + nginx
Хранить сессии в memcache
  • Quote

Post by nitsik » Sun Aug 14, 2016 6:20 pm

Здравствуйте. Подскажите, чтобы настроить хранение сессий в memcached достаточно указать

Code: Select all

session.save_handler = memcached
session.save_path = "127.0.0.1:11211"
только в файле /etc/php5/apache2/php.ini (ос Debian 8.0) или надо еще где-то прописывать?
В phpinfo вижу в session.save_path в Local Value /home/admin/tmp - значит надо еще где-то прописывать?
Top

Stesh
Posts: 348
Joined: Mon Nov 09, 2015 5:52 pm

Os: CentOS 6x
Web: nginx + php-fpm
Re: Хранить сессии в memcache
  • Quote

Post by Stesh » Sun Aug 14, 2016 7:55 pm

Для начала надо сам memcached установить и запустить (не забыв его перестроить на 127.0.0.1, по дефолту он может будет слушать везде - а это печаль с точки зрения безопасности). Ну и вышеозначенные правки в php.ini: session.save_handler - тип хранилища и session.save_path - путь к нему.

Например

Code: Select all

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211"
Обратить внимание, что синтаксис ТС не правильный, см http://php.net/manual/ru/memcached.sessions.php

Ну и главный вопрос - а зачем? Сколько одновременно открытых сессий, что есть необходимость дергать мемкеш? И самое главное - могут вылезти грабельки, как пример https://habrahabr.ru/post/38261/
значит надо еще где-то прописывать?
Так если phpinfo перед глазами - там и посмотри, откуда и какой ini читается.
Top

nitsik
Posts: 94
Joined: Mon Nov 30, 2015 9:01 pm

Os: Debian 7x
Web: apache + nginx
Re: Хранить сессии в memcache
  • Quote

Post by nitsik » Sat Sep 03, 2016 6:21 am

Stesh wrote:Для начала надо сам memcached установить и запустить (не забыв его перестроить на 127.0.0.1, по дефолту он может будет слушать везде - а это печаль с точки зрения безопасности). Ну и вышеозначенные правки в php.ini: session.save_handler - тип хранилища и session.save_path - путь к нему.

Например

Code: Select all

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211"
Обратить внимание, что синтаксис ТС не правильный, см http://php.net/manual/ru/memcached.sessions.php

Ну и главный вопрос - а зачем? Сколько одновременно открытых сессий, что есть необходимость дергать мемкеш? И самое главное - могут вылезти грабельки, как пример https://habrahabr.ru/post/38261/
значит надо еще где-то прописывать?
Так если phpinfo перед глазами - там и посмотри, откуда и какой ini читается.
Зачем - у меня папка с сессиями забила все свободные inodы, еле смог ее очистить.
Тут http://php.net/manual/ru/memcached.sessions.php написано
you should modify php.ini like that

session.save_handler = memcached
session.save_path = "localhost:11211"
т. е. у меня все правильно, сайт на kohana запустился c memcached, следующий код показывает статистику memcached:

Code: Select all

$memcache = new Memcache;
$memcache->connect('localhost',11211);
print_r($memcache->getStats());
но в phpmyadmin (возможно и на сайте) не работают сессии
session_start(): Cannot find save handler 'memcached' - session startup failed
p. s. Исправил еще тут /home/admin/conf/web/apache2.conf на

Code: Select all

php_admin_value session.save_path 127.0.0.1:11211
все равно пишет ошибку, в phpinfo видно

Code: Select all

session.save_handler = memcached 
session.save_path = "localhost:11211"
и в local value и в master value. Что делать?
p. s.

Code: Select all

session.save_handler = memcache 
session.save_path = "tcp://localhost:11211"
все же заработало, спасибо.

Также тут /usr/local/vesta/data/templates/web/apache2/default.tpl
изменил строку на php_admin_value session.save_path tcp://localhost:11211
чтобы при, например, добавлении зеркал сайту, не сбивались настройки хранения сессий для сайта
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Хранить сессии в memcache
  • Quote

Post by skurudo » Wed Oct 26, 2016 7:40 am

nitsik wrote:Зачем - у меня папка с сессиями забила все свободные inodы, еле смог ее очистить.
Если такое количество сессий, то может их просто по крону тереть?

Code: Select all

find /home/*/tmp -type f -name 'sess_*' -ctime +5 -delete
Top

Stesh
Posts: 348
Joined: Mon Nov 09, 2015 5:52 pm

Os: CentOS 6x
Web: nginx + php-fpm
Re: Хранить сессии в memcache
  • Quote

Post by Stesh » Sat Nov 12, 2016 12:16 pm

skurudo wrote:
nitsik wrote:Зачем - у меня папка с сессиями забила все свободные inodы, еле смог ее очистить.
Если такое количество сессий, то может их просто по крону тереть?

Code: Select all

find /home/*/tmp -type f -name 'sess_*' -ctime +5 -delete
Это уже довольно радикальное решение. У php есть свой сборщик мусора.

Проблема: не чистятся сессии, переполняя раздел.
Решение: проверить/добавить в php.ini примерно такое

Code: Select all

session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
Описание можно найти здесь http://php.net/manual/ru/session.configuration.php
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Хранить сессии в memcache
  • Quote

Post by skurudo » Mon Nov 14, 2016 6:47 pm

Stesh wrote:Это уже довольно радикальное решение. У php есть свой сборщик мусора.
Есть-то он есть, но от версии к версии его работа прямо скажем так себе. Потому предпочитаю руками. Оно как-то надежнее получается, чем на GC встроенный рассчитывать. Не говорил бы, если бы не наступал на грабли, доверяя вот этой функции (привет пых 5.3, 5.4, 5.5).
Top

nitsik
Posts: 94
Joined: Mon Nov 30, 2015 9:01 pm

Os: Debian 7x
Web: apache + nginx
Re: Хранить сессии в memcache
  • Quote

Post by nitsik » Fri Jan 13, 2017 12:23 pm

Stesh wrote: Проблема: не чистятся сессии, переполняя раздел.
Решение: проверить/добавить в php.ini примерно такое

Code: Select all

session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
Попробовал так, у меня было

Code: Select all

session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
сделал

Code: Select all

session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
Наблюдаю удаление старых файлов сессий. Пока работает нормально, спс)
Top

one
Posts: 392
Joined: Tue Sep 15, 2015 4:11 pm

Os: Debian 8x
Web: apache + nginx
Re: Хранить сессии в memcache
  • Quote

Post by one » Fri Mar 10, 2017 7:01 am

А чем, насколько лучше хранить сессии в memcache и в каких случая стоит применять данную конструкцию?
Top

Mr.Erbutw
Posts: 1040
Joined: Tue Apr 29, 2014 10:05 pm

Os: CentOS 6x
Web: apache + nginx
Re: Хранить сессии в memcache
  • Quote

Post by Mr.Erbutw » Fri Mar 10, 2017 10:22 am

one wrote:А чем, насколько лучше хранить сессии в memcache и в каких случая стоит применять данную конструкцию?
Вот замеры тестов движков. это memcached (основная мысль)
memcache vs memcached различия.
Если сильно нагружены движок +сессии, тогда стоит использовать memcache.
Вот еще до кучи полезностей: XCache, opcache, Zend Optimizer, eAccelerator.
Top


Post Reply
  • Print view

9 posts • Page 1 of 1

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password