What is the MIME type of .php files?
The MIME type (media type) for PHP script files with the .php extension is application/x-httpd-php. PHP files should be executed by the server, never served as files. If a browser downloads your PHP code, the PHP handler is not configured — a security problem, because the source (and any passwords in it) is exposed.
Content-Type header
Content-Type: application/x-httpd-php
Server configuration
| Server | Configuration |
|---|---|
Nginx (mime.types or types {}) | application/x-httpd-php php; |
Apache (.htaccess) | AddType application/x-httpd-php .php |
IIS (web.config) | <mimeMap fileExtension=".php" mimeType="application/x-httpd-php" /> |
| Node.js / Express | res.type('php') or res.setHeader('Content-Type', 'application/x-httpd-php') |
| Amazon S3 | Set Content-Type: application/x-httpd-php on the object (metadata), or pass --content-type application/x-httpd-php to aws s3 cp |
Should .php files be compressed?
Yes. PHP script is uncompressed data, so enabling gzip or Brotli for application/x-httpd-php typically saves 50–80 % of the transfer size. Make sure your server’s compression list includes this type — check with the website compression test.
Why the MIME type matters
Browsers decide what to do with a response — render, run, play or download — from the Content-Type header, not the file extension. With X-Content-Type-Options: nosniff, a wrong type causes stylesheets and scripts to be blocked outright. For uploads, never trust the type sent by the client; check the file’s content (its magic bytes) on the server.
Frequently asked questions
What is the MIME type for .php?
application/x-httpd-php.How do I set the Content-Type for .php in Nginx?
application/x-httpd-php php; is listed in the types block (usually in /etc/nginx/mime.types) and reload Nginx.