PHP source code goes through a step where it is compiled into PHP Opcode. This idea has been implemented in a variety of platforms, most notably with Java. Theoretically, by having a separate "virtual machine" runtime to run the Opcodes, the language designers are able to separate the language from portability issues.
You can find a list of these Opcodes in the manual
In a typical PHP environment with no opcode caching, the compilation step and the "run-time" step are indistinguishable, however, when you introduce an "accelerator/opscode cache" like APC or the Zend Platform product, you can see that these are separate steps in the process.
Once a script has been compiled into PHP Opscodes, it can be run from cache without having to be re-compiled from source, which is where these accelerators can greatly improve performance.
If you focus in on the "runtime" aspect of PHP you see the "Interpreted" nature of PHP, as it requires a runtime environment, when compared to a compiled/linked language like c/c++ that runs as a native operating system program.
In the case of PHP, the php program is the native operating system program (or native as a module of a native OS web server).
Not unlike the way Java runs inside of the "Java Virtual Machine (JVM)" PHP's scripts are running inside PHP and thus don't contain the specifics of how the operations are going to be natively performed by the OS.