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>
28 lines
1013 B
PHP
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';
|