At first, it seemed that my lighttpd issues were resolved by updating PHP/remerging lighttpd. But apparently not. After putting in a crontab entry, that restarts lighttpd every 15 minutes (which completely sucks), the issue was minimized in it’s impact but not really solved.
1 |
*/15 * * * * root /etc/init.d/lighttpd restart &>/dev/null |
Thanks to Michél (I guess, again) — who helped me looking at the strace logs, and of course Christian (aka hoffie — one of my old Gentoo buddies), the issue seems finally resolved. It turns out it was neither a PHP nor lighttpd issue. It was a simple matter of (stale) symlinks in /etc/ssl/certs if you can imagine that. Apparently a stale symlink forced PHP into a loop or something, from which it couldn’t recover on it’s own.
So the thank you is probably to the one, who introduced those lines to the ca-certificates ebuild (guess, that would be vapier, the old code monkey):
1 2 3 4 5 6 |
if [[ $badcerts -eq 1 ]]; then ewarn "You MUST remove the above broken symlinks" ewarn "Otherwise any SSL validation that use the directory may fail!" ewarn "To batch-remove them, run:" ewarn "find -L ${ROOT}etc/ssl/certs/ -type l -exec rm {} +" fi |
After letting the find run through /etc/ssl/certs and restarting lighttpd in the process, everything is back to working order! Finally!