Как отладить / исправить ошибку сегментации 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.