Looking at your comments to the answers here so far and at your edit of your question you seem a little confused over caching.
There are two types of caching we could be be talking about.
- Opcode or Template caching
- Output caching
Opcode or Template caching is the caching that takes place when a raw script file which is merely a text file is transformed to an in memory set of opcodes that can be executed by the script engine. PHP has some additional tools which allow such a set of opcodes be reused when the script file is requested subsequently. Similarly ASP keeps a cache of 'compilied' opcodes in memory and on disk so that it can serve subsequent requests for the same script without going through the whole parsing process again.
Output caching is where the generated output of script that is sent to a response buffer is cached so that subsequent requests for an identical URL (and possible matching other headers as well) would not re-run the script at all but resend the previously cached output.
ASP has no facility for output caching whereas ASP.NET does. I'm not familiar enough with PHP or its normal platforms to comment on whether such a facility is available for it.
You can configure ASPs 'opcode' caching (which it calls template caching) in IIS manager (IIS6) open the properties window on the Web Sites node go to home directory tab and click Configuration... then select the cache options tab. By default 500 'compilied' pages will be cached in memory and 2000 will be cached on disk.
In a comment to my original version of this answer you seem to asking whether PHP hosted by IIS would also benefit from template caching. That would depend how PHP is added to the platform.
I hardly know anything about PHP but I would imagine it is simply another dll which IIS script mapping maps files with the extension PHP to. That being that case it won't be benefiting from ASPs template caching.
The following is probably fiction but just to try to round out the picture:-
Another unlikely possiblity would be if PHP were some how added as ASP Script language. In this case files with PHP extension would be mapped to the ASP.DLL and the files would either contain <%@ language="PHP" or the default language in the application configuration would be set to PHP. In this unlikely set up ASP would build a template that would be cached, however whether that template contains 'compilied' opcode etc would be up to PHP.