/ / Handeling errori in Silverstripe 4 - silverstripe

Handeling di errori in Silverstripe 4 - silverstripe

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 № 1

Nel 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:

https://docs.silverstripe.org/en/4/developer_guides/forms/form_security/#cross-site-request-forgery-csrf

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.