IT Community - Software Programming, Web Development and Technical Support

Error Reporting in PHP

This is a discussion on Error Reporting in PHP within the PHP Programming forums, part of the Web Development category; Hi Every developer makes mistakes, and PHP's error reporting features can help you identify and locate these mistakes. However, ...


Go Back   IT Community - Software Programming, Web Development and Technical Support > Web Development > PHP Programming

Register FAQ Members List Calendar Mark Forums Read
  #1 (permalink)  
Old 07-17-2007, 10:36 AM
ragavraj ragavraj is offline
D-Web Programmer
 
Join Date: Feb 2007
Posts: 92
ragavraj is on a distinguished road
Default Error Reporting in PHP

Hi

Every developer makes mistakes, and PHP's error reporting features can help you identify and locate these mistakes. However, the detailed information that PHP provides can be displayed to a malicious attacker, and this is undesirable. It is important to make sure that this information is never shown to the general public. This is as simple as setting display_errors to Off. Of course, you want to be notified of errors, so you should set log_errors to On and indicate the desired location of the log with error_log.
Because the level of error reporting can cause some errors to be hidden, you should turn up PHP's default error_reporting setting to at least E_ALL (E_ALL | E_STRICT is the highest setting, offering suggestions for forward compatibility, such as deprecation notices).
All error-reporting behavior can be modified at any level, so if you are on a shared host or are otherwise unable to make changes to files such as php.ini, httpd.conf, or .htaccess, you can implement these recommendations with code similar to the following:
<?php

ini_set('error_reporting', E_ALL | E_STRICT);
ini_set('display_errors', 'Off');
ini_set('log_errors', 'On');
ini_set('error_log', '/usr/local/apache/logs/error_log');

?>


PHP also allows you to handle your own errors with the set_error_handler( ) function:
<?php

set_error_handler('my_error_handler');

?>

This allows you to define your own function (my_error_handler( )) to handle errors; the following is an example implementation:
<?php

function my_error_handler($number, $string, $file, $line, $context)
{
$error = "= == == == ==\nPHP ERROR\n= == == == ==\n";
$error .= "Number: [$number]\n";
$error .= "String: [$string]\n";
$error .= "File: [$file]\n";
$error .= "Line: [$line]\n";
$error .= "Context:\n" . print_r($context, TRUE) . "\n\n";

error_log($error, 3, '/usr/local/apache/logs/error_log');
}

?>

Thanks
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Error: command line error MIDL1001 : cannot open input file wincodec.idl midl Mramesh C# Programming 0 02-18-2008 11:07 PM
.Debugging php ..What does this mean " Parse error: parse error, unexpected....... oxygen PHP Programming 1 07-26-2007 03:41 AM
I get the error "The page cannot be displayed" and an HTTP 502 Proxy Error. Why? kingmaker ASP and ASP.NET Programming 1 07-20-2007 04:43 AM
How can I send parameter value for Reporting service? H2o Database Support 2 07-19-2007 01:11 AM
.NET Reporting Service in web application H2o C# Programming 0 07-16-2007 04:22 AM


All times are GMT -7. The time now is 02:15 AM.


Copyright ©2004 - 2007, DiscussWeb. All Rights Reserved.

SEO by vBSEO 3.0.0