diff --git a/php/inc_fx_trace_compte.php b/php/inc_fx_trace_compte.php index 807655e..f2b4c19 100644 --- a/php/inc_fx_trace_compte.php +++ b/php/inc_fx_trace_compte.php @@ -1,10 +1,34 @@ microtime(true), 'step' => $strStep, @@ -49,22 +86,34 @@ function fxTraceCompte($strStep, $arrExtra = array()) $arrCtx = array_merge($arrCtx, $arrExtra); } - $strLine = date('Y-m-d H:i:s') . ' ' . json_encode($arrCtx, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "\n"; - - $strDir = dirname(__DIR__) . '/logs'; - if (!is_dir($strDir)) { - @mkdir($strDir, 0755, true); - } - - @file_put_contents($strDir . '/compte-trace.log', $strLine, FILE_APPEND | LOCK_EX); - - // Secours si le dossier logs n'est pas inscriptible (permissions serveur). - if (!is_file($strDir . '/compte-trace.log')) { - @error_log('compte-trace: ' . trim($strLine)); - } + fxTraceCompteWrite(date('Y-m-d H:i:s') . ' ' . json_encode($arrCtx, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "\n"); +} + +/** Bootstrap très tôt (inc_start_time) — avant inc_settings. */ +function fxTraceCompteBootstrap() +{ + if (isset($_GET['trace_compte'])) { + $_SESSION['trace_compte'] = ($_GET['trace_compte'] === '1' || $_GET['trace_compte'] === 'on'); + } + + if (empty($_SESSION['trace_compte'])) { + return; + } + + $strHost = $_SERVER['HTTP_HOST'] ?? ''; + if (strpos($strHost, 'ms1inscriptiondev') === false && strpos($strHost, 'progiweb') === false) { + return; + } + + if (!headers_sent()) { + header('X-Compte-Trace: bootstrap'); + } + + fxTraceCompteWrite(date('Y-m-d H:i:s') . ' {"step":"bootstrap","uri":"' + . str_replace('"', '', $_SERVER['REQUEST_URI'] ?? '') . '","host":"' + . str_replace('"', '', $strHost) . '"}' . "\n"); } -/** Appeler juste avant header('Location:…'); exit; */ function fxTraceCompteRedirect($strStep, $strUrl) { fxTraceCompte($strStep, array('redirect_to' => $strUrl)); diff --git a/php/inc_start_time.php b/php/inc_start_time.php index dd68f71..6c06e90 100644 --- a/php/inc_start_time.php +++ b/php/inc_start_time.php @@ -26,6 +26,9 @@ ini_set('session.cookie_domain', $cookie_domain); // Démarrez la session session_start(); +require_once __DIR__ . '/inc_fx_trace_compte.php'; +fxTraceCompteBootstrap(); + // Temps de la session = 60 min // MSIN-CON-259