<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Sets which PHP errors are reported</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.error-log.html">error_log</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.restore-error-handler.html">restore_error_handler</a></div> <div class="up"><a href="ref.errorfunc.html">Error Handling Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.error-reporting" class="refentry"> <div class="refnamediv"> <h1 class="refname">error_reporting</h1> <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">error_reporting</span> — <span class="dc-title">Sets which PHP errors are reported</span></p> </div> <div class="refsect1 description" id="refsect1-function.error-reporting-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">int</span> <span class="methodname"><strong>error_reporting</strong></span> ([ <span class="methodparam"><span class="type">int</span> <code class="parameter">$level</code></span> ] )</div> <p class="para rdfs-comment"> The <span class="function"><strong>error_reporting()</strong></span> function sets the <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a> directive at runtime. PHP has many levels of errors, using this function sets that level for the duration (runtime) of your script. If the optional <em><code class="parameter">level</code></em> is not set, <span class="function"><strong>error_reporting()</strong></span> will just return the current error reporting level. </p> </div> <div class="refsect1 parameters" id="refsect1-function.error-reporting-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">level</code></em></span> <dd> <p class="para"> The new <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a> level. It 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. </p> <p class="para"> The available error level constants and the actual meanings of these error levels are described in the <a href="errorfunc.constants.html" class="link">predefined constants</a>. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.error-reporting-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns the old <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a> level or the current level if no <em><code class="parameter">level</code></em> parameter is given. </p> </div> <div class="refsect1 changelog" id="refsect1-function.error-reporting-changelog"> <h3 class="title">Changelog</h3> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>5.4.0</td> <td><strong><code>E_STRICT</code></strong> became part of <strong><code>E_ALL</code></strong>.</td> </tr> <tr> <td>5.3.0</td> <td><strong><code>E_DEPRECATED</code></strong> and <strong><code>E_USER_DEPRECATED</code></strong> introduced.</td> </tr> <tr> <td>5.2.0</td> <td><strong><code>E_RECOVERABLE_ERROR</code></strong> introduced.</td> </tr> <tr> <td>5.0.0</td> <td><strong><code>E_STRICT</code></strong> introduced (not part of <strong><code>E_ALL</code></strong>).</td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-function.error-reporting-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-453"> <p><strong>Example #1 <span class="function"><strong>error_reporting()</strong></span> examples</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #FF8000">// Turn off all error reporting<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Report simple running errors<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ERROR </span><span style="color: #007700">| </span><span style="color: #0000BB">E_WARNING </span><span style="color: #007700">| </span><span style="color: #0000BB">E_PARSE</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Reporting E_NOTICE can be good too (to report uninitialized<br />// variables or catch variable name misspellings ...)<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ERROR </span><span style="color: #007700">| </span><span style="color: #0000BB">E_WARNING </span><span style="color: #007700">| </span><span style="color: #0000BB">E_PARSE </span><span style="color: #007700">| </span><span style="color: #0000BB">E_NOTICE</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Report all errors except E_NOTICE<br />// This is the default value set in php.ini<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ALL </span><span style="color: #007700">^ </span><span style="color: #0000BB">E_NOTICE</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Report all PHP errors (see changelog)<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">E_ALL</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Report all PHP errors<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Same as error_reporting(E_ALL);<br /></span><span style="color: #0000BB">ini_set</span><span style="color: #007700">(</span><span style="color: #DD0000">'error_reporting'</span><span style="color: #007700">, </span><span style="color: #0000BB">E_ALL</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 notes" id="refsect1-function.error-reporting-notes"> <h3 class="title">Notes</h3> <div class="warning"><strong class="warning">Warning</strong> <p class="simpara"> Most of <strong><code>E_STRICT</code></strong> errors are evaluated at the compile time thus such errors are not reported in the file where <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a> is enhanced to include <strong><code>E_STRICT</code></strong> errors (and vice versa). </p> </div> <div class="tip"><strong class="tip">Tip</strong> <p class="simpara"> Passing in the value <em>-1</em> will show every possible error, even when new levels and constants are added in future PHP versions. The <strong><code>E_ALL</code></strong> constant also behaves this way as of PHP 5.4. </p> </div> </div> <div class="refsect1 seealso" id="refsect1-function.error-reporting-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member">The <a href="errorfunc.configuration.html#ini.display-errors" class="link">display_errors</a> directive</li> <li class="member">The <a href="errorfunc.configuration.html#ini.html-errors" class="link">html_errors</a> directive</li> <li class="member">The <a href="errorfunc.configuration.html#ini.xmlrpc-errors" class="link">xmlrpc_errors</a> directive</li> <li class="member"> <span class="function"><a href="function.ini-set.html" class="function" rel="rdfs-seeAlso">ini_set()</a> - Sets the value of a configuration option</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.error-log.html">error_log</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.restore-error-handler.html">restore_error_handler</a></div> <div class="up"><a href="ref.errorfunc.html">Error Handling Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>