Visualizzazione risultati 1 fino 5 di 5

Discussione: Pagina non funzionante se c'è un'errore nel codice php

  1. #1
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,777

    Predefinito Pagina non funzionante se c'è un'errore nel codice php

    Buon pomeriggio

    Qui su altervista ho due sito, uno di questo account, è un sito, ancora in costruzione su fromweb.alterviista.org, in entrambi i siti riscontro questo problema.

    Se ho una pagina php che contiene errore, la pagina, invece di visualizzarmi l'errori php ( anche quando manga un semplice punto e virgola ), non mi visualizza l'errore ma mi da pagina non funzionante

    Ho fatto una ricerca su google e l'ia overview mi dice che su altervista la visualizzazione degli errore e disattivata, se non ricordo male prima gli errore me le visualizzava, oppure ultimamente è stata disattivata la visualizzazione degli errori?

    Per rimediare mi consiglia di inserire sopra il codice questo:
    Codice PHP:
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    ma niente, gli errori non me le visualizza.

    Su entrambi gli account ho php 8.4, se la visualizzazione degli errore e disattivata come faccio a riattivarla se possibile?

    Sevenjeak
    Software developer and much more

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    4,676

    Predefinito

    Salve,
    sì, la visualizzazione degli errori in PHP è stata disattivata da qualche mese, per motivi di sicurezza.

    Attualmente l'unico modo per visualizzarli è questo (Certo, non è molto pratico se si deve analizzare molti file).

    Cordiali saluti.

  3. #3
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,340

    Predefinito

    Aggiungo due metodi alternativi per tenere traccia degli errori:
    • Inserire l'intero sito all'interno di un try / catch, ad esempio:
      Codice PHP:
      <?php
      // index.php
      try {
      include
      'index-vero-e-proprio.php';
      } catch (
      Throwable $error) {
      echo
      '<plaintext>';
      var_dump($error);
      }
      Una versione più complessa può loggare gli errori su file, invece che a schermo

    • Usare un servizio tipo Rollbar o Sentry, che mostrano gli errori in una dashboard esterna al sito; possono anche mandarti un'email se succede qualcosa di inaspettato. Il piano gratuito è sufficiente per un piccolo sito. Nota: li uso entrambi, ma non li ho provati su AlterVista.


    Metodo bonus: sempre testare il codice in locale, fosse anche solo con il server integrato in PHP (php -S :<porta>)
    chezDreadnaut

    💬 Unisciti a noi su #altervista:matrix.org

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,777

    Predefinito

    Come c'è scritto nel post linkato da GraphOGLRisorse, il codice che ho inserito io funziona, ma non per gli errori di sintassi ( come ho provato io omettendo il punto è virgola ).

    Funziona anche, allo stesso modo ( non con gli errori di sintassi ), con il try e catch.

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    [*]Usare un servizio tipo Rollbar o Sentry, che mostrano gli errori in una dashboard esterna al sito; possono anche mandarti un'email se succede qualcosa di inaspettato. Il piano gratuito è sufficiente per un piccolo sito. Nota: li uso entrambi, ma non li ho provati su AlterVista.
    Ci darò un'occhiata

    Grazie per le vostre risposte.
    Ultima modifica di sevenjeak : Ieri alle ore 12.00.59

    Sevenjeak
    Software developer and much more

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,340

    Predefinito

    Si, gli errori di sintassi non possono essere 'catturati' programmaticamente, perché il programma non viene eseguito se il file non compila. Forse forse se c'è un include di mezzo.

    Ma cercare errori di sintassi quando il codice è già su AlterVista è un antipattern. Controlla i file prima di caricarli: un linter collegato al tuo editor, od almeno php -l *.php prima di fare l'upload.

    (il che mi ricorda che potrei avere un controllo pre-commit che usa php -l, così mi diventa impossibile caricare file con un errore di sintassi sul sito 🤔️)
    Ultima modifica di dreadnaut : Ieri alle ore 23.01.43
    chezDreadnaut

    💬 Unisciti a noi su #altervista:matrix.org

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •