I've been doing some work on a project based on the CakePHP (http://cakephp.org/) Framework. CakePHP is awesome, and a great alternative to Ruby on Rails.
When I was moving my project from my development box (Windows) to my testing box (Linux) I started getting weird "Missing Controller" errors. It turns out that the error I was having was because I named my files Main_Controller.php instead of main_controller.php like CakePHP was expecting.
It seems like a simple problem, but I spent almost two nights trying to fix that bug! I had to dig into the framework code to resolve it. Probably one of the best parts of the CakePHP framework is that the framework code is pretty light, and while its pretty complicated stuff its still really easy to dig down into it.