Назад | Перейти на главную страницу

HHVM не использует memcached в качестве обработчика сохранения?

Я использую HHVM для обслуживания своего PHP-контента и имею memcached установка экземпляра с целью использования его в качестве обработчика сохранения для сеансов, однако я не уверен, что HHVM действительно его использует.

Вот соответствующая часть /etc/hhvm/php.ini:

session.save_handler = memcached
session.save_path = /tmp/memcached.sock
memcached.sess_prefix = 'php_'

Заметка; Мне пришлось использовать session.save_handler значение memcached скорее, чем memcache как используется в ванильном PHP. Мне также пришлось установить memcached.sess_prefix в противном случае я получал ошибки о том, что он пустой.

Однако, если я подключусь к memcached и запросить его статистику, это не выглядит так, как будто какие-либо сеансы хранятся в memcached вообще.

Вот статистика попаданий / промахов:

STAT get_hits 15
STAT get_misses 29

В memcached демон работает непрерывно несколько недель, поэтому эти значения кажутся чрезвычайно низкими. На самом деле я подозреваю, что они, вероятно, были созданы, когда я ненадолго использовал обычную установку PHP перед переключением на hhvm.

Нет ошибок в /var/log/hhvm/error.log относящиеся к memcached или сеансам, поэтому, похоже, не происходит сбоя подключения, что говорит о том, что он просто не пытается. Хотя, если это так, я понятия не имею, как хранятся сеансы, поскольку они, похоже, не попадают в /tmp, но они, похоже, работают (хранит ли HHVM / PHP какие-либо данные сеанса в самой RAM?)

Кажется, все настроено правильно, есть ли что-то еще, что мне нужно изменить?

Похоже, что HHVM просто не поддерживает memcached, даже если установка обработчика сохранения на "memcached" не приводит к ошибкам или предупреждениям (тогда как memcache сообщается как нераспознанный).

Это прискорбно, но я обнаружил, что стабильность HHVM оставляет желать лучшего из-за невозможности предварительно скомпилировать все мои скрипты, поэтому я все равно переключился на PHP 7. PHP 7 не имеет memcached поддержки пока тоже нет, но мы надеемся, что скоро она будет восстановлена.