|
| 1 | +<?xml version="1.0" encoding="utf-8"?> |
| 2 | +<!-- EN-Revision: de9c65c91ff1710d8b2d2ec955caea0162679305 Maintainer: lacatoire Status: ready --> |
| 3 | + |
| 4 | +<sect1 xml:id="language.errors.basics" xmlns="http://docbook.org/ns/docbook"> |
| 5 | + <title>Nozioni di base</title> |
| 6 | + |
| 7 | + <para> |
| 8 | + PHP segnala gli errori in risposta a una serie di condizioni di errore interne. |
| 9 | + Questi possono essere utilizzati per segnalare diverse condizioni e possono essere |
| 10 | + visualizzati e/o registrati nei log come richiesto. |
| 11 | + </para> |
| 12 | + |
| 13 | + <para> |
| 14 | + Ogni errore generato da PHP include un tipo. Un |
| 15 | + <link linkend="errorfunc.constants">elenco di questi tipi di errore</link> è disponibile, |
| 16 | + insieme a una breve descrizione del loro comportamento e di come possono essere |
| 17 | + causati. |
| 18 | + </para> |
| 19 | + |
| 20 | + <sect2 xml:id="language.errors.basics.handling"> |
| 21 | + <title>Gestione degli errori con PHP</title> |
| 22 | + |
| 23 | + <para> |
| 24 | + Se non è impostato alcun gestore di errori, PHP gestirà ogni errore che si verifica |
| 25 | + secondo la sua configurazione. Quali errori vengono segnalati e quali vengono |
| 26 | + ignorati è controllato dalla direttiva php.ini |
| 27 | + <link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link>, |
| 28 | + o a runtime chiamando |
| 29 | + <function>error_reporting</function>. Si raccomanda vivamente di impostare la |
| 30 | + direttiva di configurazione, poiché alcuni errori possono verificarsi prima che |
| 31 | + l'esecuzione dello script inizi. |
| 32 | + </para> |
| 33 | + |
| 34 | + <para> |
| 35 | + In un ambiente di sviluppo, è consigliabile impostare sempre |
| 36 | + <link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link> |
| 37 | + a <constant>E_ALL</constant>, poiché è necessario essere a conoscenza dei |
| 38 | + problemi segnalati da PHP e correggerli. In produzione, è possibile impostare un livello |
| 39 | + meno verboso come |
| 40 | + <code>E_ALL & ~E_NOTICE & ~E_DEPRECATED</code>, ma |
| 41 | + in molti casi <constant>E_ALL</constant> è comunque appropriato, poiché può |
| 42 | + fornire un avviso anticipato di potenziali problemi. |
| 43 | + </para> |
| 44 | + |
| 45 | + <para> |
| 46 | + Ciò che PHP fa con questi errori dipende da altre due direttive php.ini. |
| 47 | + <link linkend="ini.display-errors"><parameter>display_errors</parameter></link> |
| 48 | + controlla se l'errore viene mostrato come parte dell'output dello script. Questo |
| 49 | + dovrebbe essere sempre disabilitato in un ambiente di produzione, poiché può includere |
| 50 | + informazioni riservate come le password del database, ma è spesso utile |
| 51 | + abilitarlo in sviluppo, poiché garantisce la segnalazione immediata dei problemi. |
| 52 | + </para> |
| 53 | + |
| 54 | + <para> |
| 55 | + Oltre a visualizzare gli errori, PHP può registrare gli errori nei log quando la direttiva |
| 56 | + <link linkend="ini.log-errors"><parameter>log_errors</parameter></link> |
| 57 | + è abilitata. Questo registrerà tutti gli errori nel file o nel syslog |
| 58 | + definito da |
| 59 | + <link linkend="ini.error-log"><parameter>error_log</parameter></link>. Questo |
| 60 | + può essere estremamente utile in un ambiente di produzione, poiché è possibile registrare gli errori |
| 61 | + che si verificano e poi generare report basati su questi errori. |
| 62 | + </para> |
| 63 | + </sect2> |
| 64 | + |
| 65 | + <sect2 xml:id="language.errors.basics.user"> |
| 66 | + <title>Gestori di errori personalizzati</title> |
| 67 | + |
| 68 | + <para> |
| 69 | + Se la gestione degli errori predefinita di PHP è inadeguata, è possibile gestire anche molti |
| 70 | + tipi di errore con un gestore di errori personalizzato installandolo con |
| 71 | + <function>set_error_handler</function>. Anche se alcuni tipi di errore non possono essere |
| 72 | + gestiti in questo modo, quelli che lo permettono possono essere gestiti nel modo |
| 73 | + più appropriato per lo script: ad esempio, è possibile mostrare una pagina di errore |
| 74 | + personalizzata all'utente e poi segnalare in modo più diretto rispetto a un log, come |
| 75 | + l'invio di un'e-mail. |
| 76 | + </para> |
| 77 | + </sect2> |
| 78 | +</sect1> |
| 79 | + |
| 80 | +<!-- Keep this comment at the end of the file |
| 81 | +Local variables: |
| 82 | +mode: sgml |
| 83 | +sgml-omittag:t |
| 84 | +sgml-shorttag:t |
| 85 | +sgml-minimize-attributes:nil |
| 86 | +sgml-always-quote-attributes:t |
| 87 | +sgml-indent-step:1 |
| 88 | +sgml-indent-data:t |
| 89 | +indent-tabs-mode:nil |
| 90 | +sgml-parent-document:nil |
| 91 | +sgml-default-dtd-file:"~/.phpdoc/manual.ced" |
| 92 | +sgml-exposed-tags:nil |
| 93 | +sgml-local-catalogs:nil |
| 94 | +sgml-local-ecat-files:nil |
| 95 | +End: |
| 96 | +vim600: syn=xml fen fdm=syntax fdl=2 si |
| 97 | +vim: et tw=78 syn=sgml |
| 98 | +vi: ts=1 sw=1 |
| 99 | +--> |
0 commit comments