Technically the web server always runs first. It doesn't understand PHP itself, but must be configured to detect whether the location requested by the client (browser) contains PHP segments or not. For example, any file with extension ".php" may be processed by invoking the PHP which interprets the PHP segments and feeds the entire HTML back to the server. It then returns that complete content back to the client.