CodeIgniter is a popular PHP framework for building websites. I have long suspected that the way it reports errors was unnecessarily complicated. Well, last week I finally got round to really trying to understand what was going on. The above diagram summarizes what I learnt. Click through and select 'download' to see a larger version.
This information applies to my current setup which is CodeIgniter 2.1.0, PHP 5.3.2 and Apache 2.2.14 all running under Ubuntu 10.04 LTS. There might be some differences for other setups.