PHP's error_log function

I don’t know why it took so long for me to discover error_log, considering how quickly it has become indispensable for debugging my Facebook application.

Since all my PHP output is filtered through Facebook’s servers, I can’t always easily see the errors that crop up. This is where error_log comes in: it allows me to write entries to my Apache log file by passing in ‘0’ (zero) as the second parameter:

error_log("There was an error executing functionName($param1, \"$param2\", $param3)", 0);

(Technically, the zero just means it logs to PHP’s logfile, but for most setups that will be Apache’s.)

Since I have tail -f /var/log/httpd/error_log running on my second screen, errors will show up alongside Apache and normal PHP errors:

[Fri Dec 05 09:24:32 2008] [error] [client xxx.xxx.xxx.xxx] There was an error executing functionName(123, "contents", 456)

It makes debugging my scripts so much easier.

Leave your thoughts
  • You can use some HTML in your comment.
  • Your comment may not display immediately due to spam filtering. Please wait for moderation.