Eu já vi isso antes .. além de fazer com que os desenvolvedores de aplicativos PHP verifiquem o código deles e certifiquem-se de ter versões atualizadas (da sua distribuição) do PHP e do apache, não há muito o que você pode fazer.
Se você estiver executando um cacher Op-Code (eaccelerator, APC ou XCache), você pode tentar desligá-los, eles são conhecidos por causar o segfault estranho.
No passado, tivemos que implantar algumas soluções impressionantemente agressivas em um sistema de segmentação, para correções de curto prazo, é claro. Por exemplo, este cronjob funcionou bem:
# Restart apache when a segfault is found in the most recent line of errorlog
#*/5 * * * * tail -n1 /var/log/apache2/error.log | grep 'Segmentation fault' && /etc/init.d/apache2 restart
Ou você pode tentar algo um pouco mais inteligente:
#*/5 * * * * /usr/bin/wget http://www.my-site.com/ -T10 -O 2> /dev/null - | grep "Hosted by" > /dev/null || /usr/local/bin/brutally_restart_apache.sh
Onde brutally_restart é:
#!/bin/sh
/usr/sbin/apache2ctl stop
sleep 6
killall -9 apache2
sleep 4
/usr/sbin/apache2ctl start