![]() |
Muting errors in PHP5
My bad - I missed my missing semicolon :P
Just come across something very confusing. In PHP4 we could mute errors caused by a function by using @function(). I'm using PHP5 on this server and I get: Quote:
PHP Code:
|
for me it works ...
try with include_once($config_file); ... |
Yes, you did miss your semicolon :-P However, this thing you're doing it's not called 'error muting', it's called error suppression. What's really happening is this: the error is still thrown in the back, except it's not shown to you. That's why this is bad and you should rather use error_reporting to control when and what errors to show. Oh, and because it's global. You don't have to set error_reporting before any statement, you just put it in the beginning of the script and that's it. You can, however set error reporting to a certain level until some point of your script, then change its value (turn it on/off depending on the case). Not the case with error suppression, where the @ must be in front of EVERY statement that throws some kind of error/notice/warning.
|
Quote:
Thanks for this - didn't realise I was following a bad practise! |
Quote:
Personally... I turn error reporting completely off for production systems. Error reporting should be used for development purposes, then if anything should go amiss properly capture the error and display a generic 'error has occured' page. Although only turning it on for administrators and not general users is a better idea then jut turning it on for everyone. Hackers and malicious users tend to look for these error messages to give them clues. |
| All times are GMT. The time now is 05:37 PM. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0