[FIX] simulate: proc_open streaming SSE (pattern lg231) + NIS2_SSE flag
- public/simulate-nis2.php: riscritta con proc_open come lg231 test-runner. Lancia simulate-nis2.php come subprocess CLI con NIS2_SSE=1, streama ogni riga SSE al browser immediatamente senza buffering Apache/FPM. Stderr del subprocess → eventi SSE 'error' visibili nel terminale. - simulate-nis2.php: aggiunto supporto NIS2_SSE=1 (env var). Quando NIS2_SSE=1, IS_CLI=false → output SSE anche da sottoprocesso. API_BASE usa sempre server prod in modalità subprocess. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
0a3f2d15e2
commit
49c62ab811
+8
-5
@@ -32,15 +32,18 @@ declare(strict_types=1);
|
||||
define('SIM_VERSION', '1.0.0');
|
||||
define('DEMO_EMAIL', getenv('NIS2_DEMO_EMAIL') ?: 'demo@nis2agile.it');
|
||||
define('DEMO_PWD', 'NIS2Demo2026!');
|
||||
define('IS_CLI', php_sapi_name() === 'cli');
|
||||
define('IS_WEB', !IS_CLI);
|
||||
|
||||
// NIS2_SSE=1 → forza output SSE anche da CLI (usato dal wrapper public/ con proc_open)
|
||||
$_sseMode = (bool)getenv('NIS2_SSE');
|
||||
define('IS_CLI', php_sapi_name() === 'cli' && !$_sseMode);
|
||||
define('IS_WEB', !IS_CLI);
|
||||
|
||||
// URL base API — rileva automaticamente ambiente
|
||||
if (IS_CLI) {
|
||||
// Sul server Hetzner: Apache serve /var/www/nis2-agile su https://nis2.agile.software/
|
||||
if (IS_CLI || $_sseMode) {
|
||||
// CLI diretto o subprocess: usa server prod (o override da env)
|
||||
define('API_BASE', getenv('NIS2_API_BASE') ?: 'https://nis2.agile.software/api');
|
||||
} else {
|
||||
// In web: usa URL relativo allo stesso host
|
||||
// Web request diretto: ricostruisce URL dal $_SERVER
|
||||
$proto = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
|
||||
$host = $_SERVER['HTTP_HOST'] ?? 'localhost';
|
||||
define('API_BASE', "{$proto}://{$host}/api");
|
||||
|
||||
Reference in New Issue
Block a user