Быдлокодеры хреновы :-(
Почему так трудно проверять входные данные?
Возился сейчас с расширением Memcache; после очередного изменения кода сервер ушёл в глухую защиту и отказался реагировать на внешние раздражители. Лог Apache пестрил записями [error] child died with signal 11, в логах ядра было сказано, что PHP было очень плохо: Mar 27 07:20:02 snowboarding kernel: [501607.032560] php5[11934]: segfault at 7fc86965d190 ip 00007fc86965d190 sp 00007fc8689850e8 error [...]
← Вернуться к полной версии записи «Быдлокодеры хреновы :-(»…
Автор: Vladimir; опубликовано в: PHP; метки: Memcache, Memcached, PHP, segfault, ошибкаМар
2010
Комментарии к статье «Быдлокодеры хреновы :-(» (5) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Быдлокодеры хреновы :-(»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


Как определил откуда валится php? У меня похожая ситуация – php уходит в segfault, но могу найти откуда…
Ну в моём случае всё просто: PHP стал сегфолтиться после замены одного куска кода другим.
Если по-хорошему, нужно включить core dumps, установить отладочные символы, ждать, пока упадёт, затем натравить
gdbна полученную корку и сделать backtrace.Да, бывает из-за одной мелочи (которую надо найти иногда в нескольких сотнях кода) все проблемы. И самое сложное – отловить эту мелочь. А когда она не по твоей вине – то вообще караул. Руки оторвать хочется…
Memcached действительно, на мой взгляд стабильней… Единственное, что для меня до сих пор остаётся загадкой, где close()??? А так ей очень доволен…
В смысле где
close()?Делаете
unset()переменной-экземпляру класса Memcached, вызовется деструктор класса и, если соединение не persistent, оно будет закрыто.Как-то так.