How to do a 3-tier using PHP
<p>I have a requirement from a client for my PHP Web application to be 3-tier.  For example, I would have a web server on Apache in the DMZ, but it should NOT contain any DB connections.  It should connect to a Middle server that would host the business objects but be behind the firewall.  Then those objects connect to my SQL cluster on another server.</p>

<p>I have actually done this using .NET, but I am not sure how to setup my stack using PHP.  I suppose I could have my UI front tier call the middle tier using REST based web services if I create my middle tier as a second web server, but this seems overly complex.</p>

<p>The main reason for this is advanced security: we can not have any passwords on the DMZ first tier web server.  The second reason is scalability - to have multiple server on different tiers that can handle the requests.  The Last reason is for deployment - it is easier if I can take one set of servers offline for testing before putting them back in production. </p>

<p>Is there a open source project that shows how to do this?  The only example I can find is the web server hosting files from a shared drive on another machine (kind of how DotNetNuke pretends to be 3-tier), but that is NOT secure.</p>

<p>Note:  I HAVe looked in SO for this answer, and I do see a lot of similar questions, but have not found anyone that actually answered. This is NOT about a Data Access Layer (although I will use it) - my primary question is the design between UI and the Middle Tier.</p>
