Most of my plugins’ instructions include like “Look at your error log.”. What if your hosting provider won’t let you, though?
Well, first, consider getting a different hosting provider — this one obviously isn’t concerned with making it easy (or even possible) for you to do interesting work.
What if that’s not an option, though?
Well, the SeeError plugin is a partial solution. In normaly use, it redirects all error output to a temporary file, then appends it to the end of the served page, and removes the temporary file.
If the $handle_die option is enabled, then any raised exceptions will cause a “Possibly-Fatal Error” message to be output to the browser, along wih whatever error text is available. This mode is useful if the only output you’re otherwise getting is “fatal server error”.
This is not a perfect solution. Drawbacks include, but may not be limited to:
- error output before seemore is loaded is lost
- error output after seemore’s end() is called is lost
- if there’s a fatal error, no other error output will be printed, even if $handle_die is set; nor will the temporary file be cleaned up
- this plugin can’t be usefully controlled via blosxom’s normal enable/disable mechanism; in particular, disabling it will appear to work but will lead to sustained disk-space loss as temporary files are created and not removed. do not leave this plugin installed but disabled.
- the $handle_die option gives quite a bit of spurious output; it’s invoked any time an eval fails, even though that’s a perfectly normal occurance, and as far as I can tell it can’t differentiate the important times from the unimportant.
Using:
- download the plugin, unzip it, and put the plugin file in your plugin directory
- turn on $handle_die if you need to (ie, if you’re getting “Fatal server error” rather than blog output)
- configure the $tmp_dir if you need to; the default should work for unix-like systems.
- browse to your blog and scroll to the bottom; any error output will be appended. (Depending on your html formatting, you may actually need to look at the page source to see it)