PHP Signal Safety - The Init Ordering Bug Nobody Warns You About
Embedding PHP in a multithreaded server means PHP's timeout signals can land on any thread. How ePHPm got that under control.
Last week I wrote about why ePHPm embeds PHP from Rust and promised the signal bug its own post. Here it is. It’s the kind of bug where the fix is about ten lines and the explanation is the whole post. Nothing in PHP’s embed documentation (there’s barely any) tells you that initializing PHP has process-wide side effects. Those side effects assume PHP is the only thing in the process.
