Fabien Potencier is Symfony2's lead developer, and he knows his PHP. Symfony2 provides its own full-stack web framework, and Fabien knows how it works -- so if you want to learn a PHP web stack from the ground up, he's a good person to ask.
No need to ask him, though, because he's just begun a series of blogposts walking you through the entire stack-creation process.
Why? Here are Fabien's reasons:
To learn more about the low level architecture of modern web frameworks in general and about the Symfony2 full-stack framework internals in particular;
To create a framework tailored to your very specific needs (just be sure first that your needs are really specific);
To experiment creating a framework for fun (in a learn-and-throw-away approach);
To refactor an old/existing application that needs a good dose of recent web development best practices;
To prove the world that you can actually create a framework on your own (... but with little effort)
So, basically, to understand HTTP frameworks, not just use them.