diagnose
This commit is contained in:
@@ -26,6 +26,7 @@ App gestionale Laravel 13 con AdminLTE 4 per gestione Persone e Gruppi.
|
||||
- **2026-06-17**: Google OAuth 2.0 unificato (revert Socialite, unified OAuth per Email/Drive/Calendar, XOAUTH2 SMTP+IMAP, UI impostazioni)
|
||||
- **2026-06-17**: Fix CalendarioConnessione — `encryptAndSetConfig()` perdeva campi sensibili in edit, `is_active` checkbox senza hidden fallback, query duplicata nella view
|
||||
- **2026-06-18**: Fix import CSV — `declare(strict_types=1)` mancante in IndividuoController, header check assente, Log::warning() su errori; fix freeze server (set_time_limit, session_write_close, DB::transaction, fgetcsv length illimitato) in GruppoController e IndividuoController
|
||||
- **2026-06-18**: Diagnose script (`diagnose.php`), .env.example aggiornato (SESSION_SECURE_COOKIE, FORCE_HTTPS, TRUSTED_PROXIES), build-dist.sh aggiornato con passo diagnose
|
||||
|
||||
## Funzionalità Implementate
|
||||
|
||||
@@ -705,3 +706,48 @@ DB::commit();
|
||||
|
||||
### Verifica
|
||||
- `php -l` su entrambi: nessun errore di sintassi
|
||||
|
||||
## 2026-06-18 — Diagnose script + .env.example + build-dist.sh
|
||||
|
||||
### `diagnose.php` — Script standalone di diagnostica
|
||||
Creato script standalone per verificare installazione su server remoto. Non richiede Laravel.
|
||||
|
||||
**Cosa verifica**:
|
||||
- PHP version (≥ 8.2), 15 estensioni required, 4 opzionali
|
||||
- INI settings (execution_time, memory, upload/post max)
|
||||
- .env: APP_KEY decodifica (32 bytes), APP_URL, SESSION_SECURE_COOKIE, DB, FORCE_HTTPS
|
||||
- 13 directory in `storage/` e `bootstrap/cache`: esistenza, permessi, scrivibilità
|
||||
- Symlink `public/storage` (supporto sia link assoluti che relativi)
|
||||
- Test scrittura/lettura file sessione
|
||||
- Connessione DB via PDO, tabelle principali, conteggio records, engine InnoDB
|
||||
- Middleware bootstrap/app.php: ForceHttps registrato, TrustProxies, duplicazioni web group
|
||||
- Vendor: autoload, composer, node_modules, public/build, artisan
|
||||
- CSRF: HTTP GET login page, estrazione token, POST con token, verifica 419
|
||||
- Spazio disco: totale, libero, percentuale
|
||||
|
||||
**Uso**:
|
||||
```bash
|
||||
php diagnose.php
|
||||
php diagnose.php --verbose # output dettagliato
|
||||
```
|
||||
Exit code: 0 = OK, 1 = errori critici.
|
||||
|
||||
### `.env.example` aggiornato
|
||||
Aggiunte variabili mancanti:
|
||||
- `APP_PROTOCOL`, `APP_SUBFOLDER` — supporto subfolder
|
||||
- `FORCE_HTTPS`, `TRUSTED_PROXIES` — proxy/HTTPS configurabile
|
||||
- `SESSION_SECURE_COOKIE`, `SESSION_SAME_SITE` — sessione cross-protocol
|
||||
- `APP_ENV=production`, `APP_DEBUG=false` — safe defaults per produzione
|
||||
|
||||
### `build-dist.sh`
|
||||
- Aggiunto `php diagnose.php` come passo #0 (pre-installazione) e #7 (verifica finale)
|
||||
- Istruzioni post-estrazione complete
|
||||
|
||||
### File modificati
|
||||
- `diagnose.php` (nuovo) — standalone diagnostica
|
||||
- `.env.example` — variabili mancanti aggiunte
|
||||
- `build-dist.sh` — passo diagnose
|
||||
|
||||
### Verifica
|
||||
- `php -l diagnose.php`: OK
|
||||
- `php diagnose.php`: eseguito con 58/68 check superati su server locale
|
||||
|
||||
Reference in New Issue
Block a user