How to set up error logging with PHP

So you got finished with your brand new website. It is completely PHP driven and looks very nice. But are you sure that everything works perfectly? Under every circumstances?

No. You can never be absolutely sure. That is why you need a log file to see if there where some errors. Well, if you are the kind of person that doesn’t care if some jerks who behaved wrong on you website get error messages, then you probably don’t need an error log file.

In case you aren’t using your own server, you normally won’t have access to automatically generated log files. That’s why we need to generate them especially for us.

And that’s how it’s done:

ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors',TRUE);
ini_set('html_errors',FALSE);
ini_set('error_log','/home/htdocs/webXX/html/error_log.txt');
ini_set('display_errors',FALSE);

The first two lines tell PHP to report every error. Even the tiny ones. Line three says that those errors should be logged. The next line makes sure that these errors won’t include HTML and line five sets the path to the log file. The last line is to prevent the errors from being displayed to the user. Most users normally have no idea what’s going on when they get an error message presented. So that’s why.

Just include the code in scripts where you want to keep track of errors. Now you can see if anyone got any errors by checking the error_log.txt file.

3 things to consider regarding URL’s

There are often questions about how to link to certain pages or whether to include a slash or not. And if one should use www or shouldn’t use it.

The question here is not what the right thing is. The question is just how you want it to be. And that is the most difficult part in here. You have to decide with which method you want to go. What do you want your links to look like? Do you want to use ‘www’, because everyone expects it to be there or do you think ‘Hey, who needs thats?’.

So make your decision. But just pick one of all possiblities. You can’t have it all. “I want this, and this, and one of these…” Nope, not possible. Just one.

After you have decided, go with that method. Build your links that way. Then you can use mod_rewrite to ensure that everyone uses your pages the same as you. That means you redirect everyone who does not use www to the www version, if you decided to use www. If you decided to use trailing slashes after directory names, then always link to them that way. And redirect wrong requests to the appropriate pages.

Here are some points in which you should make a decision:

1. domain name

www.example.com or example.com

2. home page

should it be just / (highly recommended) or should it be /index.php, /index.htm, /home/start.asp

3. directories or pages

/about or /about/