Как отладить / исправить ошибку сегментации php/apache при использовании memcache (избыточный) для хранения сессии?

  • os: debian squeeze (up2date)
  • 2 apache mod php webserver
  • 2 сервер memcache

Я должен Apache узлы mod_php, которые используют два сервера memcache для избыточного хранения сеанса (используется вариант 3 с /questions/261032/mozhno-li-ispolzovat-pul-demonov-memcache-dlya-bolee-effektivnogo-sovmestnogo-is/261043#261043).

memcache.ini

extension=memcache.so

[memcache]
memcache.dbpath="/var/lib/memcache"
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0

memcache.allow_failover=1
memcache.hash_strategy=consistent
memcache.session_redundancy=3

php.ini

session.save_handler = memcache
session.save_path="tcp://192.168.0.11:11211?persistent=1&weight=1&timeout=1&retry_interval=15,tcp://192.168.0.19:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

все работает нормально, используя только один сервер memcache, и также прекрасно работает с двумя или двумя резервными серверами. сеансы записываются на оба сервера (я могу проверить это с помощью администратора phpmemcache), но как только я убиваю один узел (остановлю один сервер memcache), у меня возникают проблемы.

серверы memcache выглядят так, как будто они имеют один "главный" сервер и один "второй" сервер. Есть меньше проблем, когда я убиваю 2-й сервер, но как только выключается 1-й сервер memcache (с включенным 2-м), журнал ошибок apache заполняется ошибками сегментации при каждой попытке подключения.

я тоже пытался memcache.session_redundancy=3 но у меня есть значение 3 из-за ошибки https://bugs.php.net/bug.php?id=58585

пс. Если вы используете Firefox: https://addons.mozilla.org/en-US/firefox/addon/its-all-text я просто потерял свой вопрос об обратном нажатии после того, как столкнулся с ошибками сервера "вы человек"....

1 ответ

У меня была такая же ошибка. Вы должны установить новую версию memcache. У меня был 3.04, и он потерпел неудачу, как вы говорите, с 3.07 apache не падает. Я могу остановить один из моих серверов memcached, и второй из них поддерживает отказ, без ошибок Apache.

Другие вопросы по тегам