fix: decouple php-fpm reload from HTTP request using flag file + cron

Reload during account creation was causing 502 by killing the fpm worker
before nginx finished reading the response. Flag file picked up by cron
within 60s instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LP9Q4kfCAYAjJnsbHBrViZ
This commit is contained in:
2026-06-20 17:06:51 +00:00
parent 99829f628d
commit 91d0e625c4
+3 -3
View File
@@ -118,8 +118,8 @@ php_value[max_execution_time] = 30
}
private static function reloadFPM(string $ver): void {
// Run reload in background so it doesn't block/kill the current PHP-FPM worker.
// The short sleep ensures the pool config is fully written before reload picks it up.
exec("(sleep 1 && sudo systemctl reload php{$ver}-fpm) </dev/null >/dev/null 2>&1 &");
// Write a flag file instead of reloading inline — the cron runner picks this up
// within 60s and reloads fpm outside of any HTTP request, avoiding 502s.
@file_put_contents('/tmp/novacpx-fpm-reload-' . $ver, '1');
}
}