PHP è un linguaggio interpretato, ovvero esiste un programma specifico, chiamato interprete, che fa da tramite tra il linguaggio PHP e il linguaggio macchina, e il cui compito è quello di eseguire "al volo" il codice sorgente istruzione per istruzione.
Anche se in tempi recenti sono nate alcune implementazioni come ad esempio HHVM per Facebook, l'interprete ufficiale di PHP è lo Zend Engine, arrivato alla terza versione con l'uscita di PHP 7.
La prima versione dell'interprete risale al 1999 con PHP 4, a cui fece seguito Zend Engine 2, rilasciato con l'uscita di PHP 5.
Attualmente il motore PHP è Zend Engine 3, grazie al quale l'esecuzione degli script PHP è 2 volte più veloce e il consumo di memoria è migliorato del 50% rispetto a PHP 5.6.
Oltre ad essere il cuore di PHP, Il motore Zend svolge diversi compiti tra cui:
Dove aver presentato l'interprete PHP, vediamo da vicino il suo funzionamento attraverso la seguente figura:
Durante l'esecuzione di uno script PHP, il codice viene caricato in memoria e compilato generando i cosiddetti Zend Opcodes. Il termine opcodes è l'abbreviazione di operation codes e indica le istruzioni binarie di basso livello.
La gestione della memoria di PHP è molto semplificata rispetto ad altri linguaggi, in quanto lo spazio di memoria allocato viene immediatamente liberato al termine dell'esecuzione dello script.