sypder
asked on
Log PHP errors in database
I want to send my PHP errors to a MySQL database and then take the user to a generic error.html page. Is this possible?
What php errors?
ASKER
Whatever PHP error occurs (due to a bug). I want to have them recorded in a DB so that I can go back and see what bugs might exist in my code.
bug normally means logical error and to catch logical errors are much more difficult than catching syntax error.
What this really means: major syntax errors likely will not allow your script to run in the first place (an error code would occur), and thus users would never experience them in the first place - which means it's something you would have caught long before users even got access to them.
Logical errors, though, are bugs that don't produce a PHP syntax error but are instead situations where the output you expected is not the output that you received. This kind of error won't be caught by PHP, as no violation of syntax has occured, and PHP assumes that whatever you did, you meant to do.
If you want to catch PHP warnings or notices, though, that's a different issue. Although in such cases, I doubt you would want to send users to an error page, as such bugs don't necessarily make your script work improperly.
Logical errors, though, are bugs that don't produce a PHP syntax error but are instead situations where the output you expected is not the output that you received. This kind of error won't be caught by PHP, as no violation of syntax has occured, and PHP assumes that whatever you did, you meant to do.
If you want to catch PHP warnings or notices, though, that's a different issue. Although in such cases, I doubt you would want to send users to an error page, as such bugs don't necessarily make your script work improperly.
get latest error by
http://www.php.net/manual/en/function.error-get-last.php
and insert into DB one by one and then display those to users.
http://www.php.net/manual/en/function.error-get-last.php
and insert into DB one by one and then display those to users.
ASKER
I have found that there can be syntax errors as a result of very special cases, and I would just like these recorded. I know that PHP can record these to the log.
I was just wondering if I could get PHP to take someone to error.php if an error occurs and then use the error_get_last command to record it to a DB.
I was just wondering if I could get PHP to take someone to error.php if an error occurs and then use the error_get_last command to record it to a DB.
Unfortunately, I don't think you can trap syntax errors right in the php.
ASKER
Thanks yodercm, I figured that might be the case. I would be handing rather than waiting for the client to report an error to me.
you can try something with try/catch, e.g.
<?
try
{
echo 'aamir';
}
catch( Exception $e )
{
die($e);
}
?>
if you print
echo 'aamir' // without semicolon at the end it 'll not produce error and print aamit
but if you have it in try/catch statement, it 'll give you error
<?
try
{
echo 'aamir';
}
catch( Exception $e )
{
die($e);
}
?>
if you print
echo 'aamir' // without semicolon at the end it 'll not produce error and print aamit
but if you have it in try/catch statement, it 'll give you error
also
The previous error message: $php_errormsg
$php_errormsg is a variable containing the text of the last error message generated by PHP. This variable will only be available within the scope in which the error occurred, and only if the track_errors configuration option is turned on (it defaults to off).
The previous error message: $php_errormsg
$php_errormsg is a variable containing the text of the last error message generated by PHP. This variable will only be available within the scope in which the error occurred, and only if the track_errors configuration option is turned on (it defaults to off).
also
Since PHP 4.2.0, PHP returns an appropriate error code along with the file array. The error code can be found in the error segment of the file array that is created during the file upload by PHP. In other words, the error might be found in
$_FILES['userfile']['error ']
Since PHP 4.2.0, PHP returns an appropriate error code along with the file array. The error code can be found in the error segment of the file array that is created during the file upload by PHP. In other words, the error might be found in
$_FILES['userfile']['error
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks ingwa! That works amazingly well.
Hi Sypder, glad I was able to assist you. Good luck with your project.