I'm probably in over my head also. I'm not familiar with ZendServer; what OS is on the IBM box, and do you have a link to the bug?
The point there being, if you just have two servers with the same bug ... is that really a failover?
If I go back to my original line of thought ... are you running (My)SQL on the same box as the Apache server, or is it separate?
200 concurrent users is probably an OOM more than I'm dealing with. If I were facing loading issues right now, first thing I'd do is get the SQL server onto another box, and probably the BI stuff also (I assume you mean stats or BI software when you say "internal tools built for business logic type of queries") would come off the public web-server onto another box.
Apache comes OOB with configuration for 150 concurrent connections. It can be tuned for a much higher number of concurrent connections, but you & I know that at levels like that it's not Apache, but PHP and (My)SQL that are chewing up resources, especially RAM.
If you can separate the DB from the Apache box and get the BI off the server and still are pushing your systems, I'd say you're in CDN/Load-Balancing territory at that point. You're often talking about redundant systems at that point, with round-robin DNS, perhaps something like: https://help.dnsmadeeasy.com/dns-failover/configure-dns-failover-round-robin/
(Note that this is an easy Google result, not a recommendation for DNSMadeEasy --- I have no experience with them one way or the other).