nis2-agile/public/simulate-nis2.php
DevEnv nis2-agile 527446f4e3 [FIX] simulate-nis2.php wrapper: set_time_limit(0) per simulazione lunga
max_execution_time=30 in Apache php.ini interrompeva la simulazione dopo 30s.
La simulazione completa richiede 8-12 minuti.
Aggiunto: set_time_limit(0), ignore_user_abort(true), memory_limit=256M.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 10:23:10 +01:00

28 lines
1013 B
PHP

<?php
/**
* NIS2 Agile — Wrapper pubblico per simulate-nis2.php
*
* DocumentRoot è public/ → il file principale è fuori dalla web root.
* Questo wrapper converte il query param ?sim= nell'env var NIS2_SIM
* e include il simulatore reale dalla root del progetto.
*
* URL: https://nis2.agile.software/simulate-nis2.php?sim=all
*/
// La simulazione completa richiede 8-12 minuti: rimuovi il limite di esecuzione PHP
set_time_limit(0);
ignore_user_abort(true);
ini_set('memory_limit', '256M');
// Mappa ?sim=sim06 → NIS2_SIM=SIM06 (unico filtro attivo nel simulatore)
$simParam = strtolower(trim($_GET['sim'] ?? 'all'));
if ($simParam === 'sim06') {
putenv('NIS2_SIM=SIM06');
}
// sim01-sim05 e 'all': SIM_FILTER rimane null → esegue tutti gli scenari
// Includi il simulatore dalla root del progetto.
// __DIR__ nel file incluso punta alla directory di quel file (/var/www/nis2-agile/)
// quindi readEnvValue() trova correttamente .env nella root.
require __DIR__ . '/../simulate-nis2.php';