Sto usando Silverstripe 4 e ho creato una pagina con un modulo. Qualcosa va storto e ottengo solo una pagina vuota con:
"Sembra che ci sia stato un problema tecnico. Fai clic sul pulsante Indietro, aggiorna il browser e riprova."
- In .htaccess ho impostato php_flag display_errors su
- In _config.php ho impostato error_reporting (E_ALL);
- E in mysite / _config / app.yml ho impostato questo:
Solo: ambiente: "dev"
SilverStripeSecurityBasicAuth: whole_site_protected: true
Ora tutto ciò che voglio fare è lasciare che Silverstripe mi mostri gli errori. In Silverstripe 3 l'unica cosa da fare era: Director :: set_environment_type ("live");
Cosa devo fare per mostrare gli errori?
risposte:
2 per risposta № 1Nel tuo .env
file, è possibile specificare una variabile di ambiente.
SS_ENVIRONMENT_TYPE="dev"
1 per risposta № 2
Il termine "Sembra che ci sia stato un problema tecnico" è un avviso per l'errore CSRF: https://github.com/silverstripe/silverstripe-framework/blob/7603c6d79841df7712c0d1d5136ec402f3162e0c/lang/en.yml#L60
Quindi, l'impostazione di silverstripe su dev mode o tweaking dei livelli di errore php non può essere d'aiuto in quanto viene emessa solo quando il controllo csrf fallisce.
È necessario aggiungere il token o impedire al gestore del modulo di controllarlo:
Se tutto per il modulo è corretto, esiste la possibilità che l'errore possa essere causato da problemi di autorizzazione con PHP e dalla directory di scrittura della sessione.