<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.10 $ -->
<!-- splitted from ./en/functions/errorfunc.xml, last change in rev 1.1 -->
  <refentry id="function.error-reporting">
   <refnamediv>
    <refname>error_reporting</refname>
    <refpurpose>Sets which PHP errors are reported</refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>int</type><methodname>error_reporting</methodname>
      <methodparam choice="opt"><type>int</type><parameter>level</parameter></methodparam>
     </methodsynopsis>
    <para>
     The <function>error_reporting</function> function sets the 
     <link linkend="ini.error-reporting">error_reporting</link> 
     directive at runtime.  PHP has many levels of errors, using 
     this function sets that level for the duration (runtime) of 
     your script.
    </para>
    <para>
     <function>error_reporting</function> sets PHP's error reporting level, 
     and returns the old level.  The <parameter>level</parameter> parameter 
     takes on either a bitmask, or named constants. Using named constants 
     is strongly encouraged to ensure compatibility for future versions. As 
     error levels are added, the range of integers increases, so older 
     integer-based error levels will not always behave as expected.
    </para>
    <para>
     <example role="php">
      <title><function>error_reporting</function> examples</title>
      <programlisting role="php">
<![CDATA[
<?php

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized 
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     The available error level constants are listed below. The actual
     meanings of these error levels are described in the
     <link linkend="errorfunc.constants">predefined constants</link>.
     <table>
      <title><function>error_reporting</function> level constants and bit values</title>
      <tgroup cols="2">
       <thead>
        <row>
         <entry>value</entry>
         <entry>constant</entry>
        </row>
       </thead>
       <tbody>
        <row>
         <entry>1</entry>
         <entry>
          <link linkend="e-error">E_ERROR</link>
         </entry>
        </row>
        <row>
         <entry>2</entry>
         <entry>
          <link linkend="e-warning">E_WARNING</link>
         </entry>
        </row>
        <row>
         <entry>4</entry>
         <entry>
          <link linkend="e-parse">E_PARSE</link>
         </entry>
        </row>
        <row>
         <entry>8</entry>
         <entry>
          <link linkend="e-notice">E_NOTICE</link>
         </entry>
        </row>
        <row>
         <entry>16</entry>
         <entry>
          <link linkend="e-core-error">E_CORE_ERROR</link>
         </entry>
        </row>
        <row>
         <entry>32</entry>
         <entry>
          <link linkend="e-core-warning">E_CORE_WARNING</link>
         </entry>
        </row>
        <row>
         <entry>64</entry>
         <entry>
          <link linkend="e-compile-error">E_COMPILE_ERROR</link>
         </entry>
        </row>
        <row>
         <entry>128</entry>
         <entry>
          <link linkend="e-compile-warning">E_COMPILE_WARNING</link>
         </entry>
        </row>
        <row>
         <entry>256</entry>
         <entry>
          <link linkend="e-user-error">E_USER_ERROR</link>
         </entry>
        </row>
        <row>
         <entry>512</entry>
         <entry>
          <link linkend="e-user-warning">E_USER_WARNING</link>
         </entry>
        </row>
        <row>
         <entry>1024</entry>
         <entry>
          <link linkend="e-user-error">E_USER_NOTICE</link>
         </entry>
        </row>
        <row>
         <entry>2047</entry>
          <entry>
         <link linkend="e-all">E_ALL</link>
         </entry>
       </row>
        <row>
         <entry>2048</entry>
         <entry>
          <link linkend="e-strict">E_STRICT</link>
         </entry>
        </row>
       </tbody>
      </tgroup>
     </table>
    </para>
    <warning>
     <simpara>
      With PHP &gt; 5.0.0 <constant>E_STRICT</constant> with value 2048 is
      available. <constant>E_ALL</constant> does <emphasis>NOT</emphasis>
      include error level <constant>E_STRICT</constant>.
     </simpara>
    </warning>
    <para>
     See also the <link linkend="ini.display-errors">display_errors</link>
     directive and <function>ini_set</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->