Wondering if anyone else seeing this?
Building from ports (just because that's what I've always done) - FreeBSD 13.1 (or 13.2) on amd64, Apache 2.4.56 or 2.4.57, PHP 8.2.4 (and 8.2.5) both exhibit the behaviour, as do 8.1.17 and 8.1.18.
mod_php82 (or 81).
Noticed when logs rotated, but further digging showing it's effectively the apachectl graceful causing my problems. After an apachectl graceful you'll have stopped serving web pages. apachectl restart is fine.
Apache and mod_php82 were fine, so I started adding a few extensions and got it to start happening. Thought it was cURL for a while but that didn't make any difference.
I seem to have got it down to two options (a) disable opcache in php.ini or (b) build PHP and mod_php with ZTS - but I'm not sure where either of those paths will lead me.
PHP 8.2.3 seems to be the last version that works. There were messages like this but other than that no obvious ill-effects:
Which is what I think someone was trying to fix in PHP - leading to changes in 8.2.4 and 8.2.5. But for me they've made things worse.
Anyway at this point - anyone else seeing this?
(Plenty of people seeing similar things but mostly "just use nginx" responses etc. that aren't very helpful).
EDIT: what pointed the figure at opcache (apart from other discussions on the internet):
Building from ports (just because that's what I've always done) - FreeBSD 13.1 (or 13.2) on amd64, Apache 2.4.56 or 2.4.57, PHP 8.2.4 (and 8.2.5) both exhibit the behaviour, as do 8.1.17 and 8.1.18.
mod_php82 (or 81).
Noticed when logs rotated, but further digging showing it's effectively the apachectl graceful causing my problems. After an apachectl graceful you'll have stopped serving web pages. apachectl restart is fine.
Apache and mod_php82 were fine, so I started adding a few extensions and got it to start happening. Thought it was cURL for a while but that didn't make any difference.
I seem to have got it down to two options (a) disable opcache in php.ini or (b) build PHP and mod_php with ZTS - but I'm not sure where either of those paths will lead me.
PHP 8.2.3 seems to be the last version that works. There were messages like this but other than that no obvious ill-effects:
Code:
Apr 17 13:42:58 development kernel: pid 7734 (httpd), jid 0, uid 0: exited on signal 11 (core dumped)
Anyway at this point - anyone else seeing this?
(Plenty of people seeing similar things but mostly "just use nginx" responses etc. that aren't very helpful).
EDIT: what pointed the figure at opcache (apart from other discussions on the internet):
Code:
root@r220:/usr/ports/lang/php82 # lldb /usr/local/sbin/httpd -c /httpd.core
(lldb) target create "/usr/local/sbin/httpd" --core "/httpd.core"
Core file '/httpd.core' (x86_64) was loaded.
(lldb) bt
* thread #1, name = 'httpd', stop reason = signal SIGSEGV
* frame #0: 0x0000000837692220
frame #1: 0x000000083a211ee2 opcache.so`___lldb_unnamed_symbol1035 + 66
frame #2: 0x000000083d898446 libphp.so`___lldb_unnamed_symbol8334 + 22
frame #3: 0x000000083d879a02 libphp.so`zend_llist_apply_with_del + 82
frame #4: 0x000000083d817321 libphp.so`php_module_startup + 2433
frame #5: 0x000000083d977dc6 libphp.so`___lldb_unnamed_symbol10022 + 118
frame #6: 0x00000000002620df httpd`ap_run_post_config + 79
frame #7: 0x000000000025d83a httpd`main + 2426
frame #8: 0x000000000025ccc0 httpd`_start + 256
(lldb)