Archive for Август, 2009

PHP PCRE Functions kills apache childprocess

Apache + mod_php + pcre functions = apache child pid exit signal Illegal instruction

Разработчики попросили разобраться с проблемой. Рри использовании preg_replace при определенном размере строковой переменной, над которой совершались всякие pcre преобразования, apache падал с сообщением  “apache child pid 3232 exit signal Illegal instruction”.

Паттерн, которым обрабатывали строку и правда был страшен, и первым делом я попросил разработчиков его переписать, но оказалось, что они его выдрали из Zend Framework… Да и вот так падать apache не должен в любом случае.

Нашел на php.net bug, очень похожий на мой случай, и еще несколько сообщений. Но решения там не было, кроме слов, что скорее всего дело в размере стека, который выделяется процессу apache.

Первым желанием было подправить stacksize в FreeBSD, но оказалось, что он и так 64MB… Так что осталось только одно – пинать библиотеку pcre. В man pcrestack есть упоминание, что pcre можно собрать с заменой использования стека на кучу. В man pcrebuild есть нужная опция: –disable-stack-for-recursion.

Дальше пересобираем библиотеку pcre и apache, за одно еще расширение php для pcre функций…

Четверг, Август 27th, 2009 Советы Нет комментариев

Как включить ssh на allied telesis AT8000GS

Оказалось, все очень просто

console# configure
console(config)# crypto key generate rsa
console(config)# ip ssh server

После чего нужно запретить telnet как класс:

console(config)# management access-list accesstoconsole
console(config)# permit vlan 1 service ssh
console(config)# deny vlan 1 service telnet
console(config)# end
console(config)# management access-class accesstoconsole
console(config)# end

Tags: ,

Понедельник, Август 10th, 2009 Советы Нет комментариев
Cheap Retro Replica NFL NBA MLB Throwback Football Basketball Jerseys | hp printer ink cartridges refills| Jewelry Making Supplies | Thumb Joint Pain | Dog Health Problems |Tinkerbell Personal Checks |Garden Planters