What is MIME type "application/x-httpd-php"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/x-httpd-php tells a web server to process a file as PHP code rather than serving it as plain text. The server sends the file to the PHP interpreter, which executes any embedded code and returns only the output (often HTML) to the browser.


Files that use this MIME type include those with extensions such as PHP, INC, CTP, PHTML, AW, PHPS, FCGI, HH, PHP3, PHPT, PHP5, PHP4, HACK, and HHI.

Learn more about how MIME types control server behavior at the MDN Web Docs or the PHP official site.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/x-httpd-php    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/x-httpd-php">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/x-httpd-php');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the purpose of the application/x-httpd-php MIME type?

This MIME type is a server-side instruction that tells the web server to pass the file to the PHP interpreter for execution. Instead of sending the file's raw contents to the user, the server runs the code and sends back the generated output (usually HTML) to the browser.

Why is my browser downloading the PHP file instead of displaying the page?

If a browser downloads the file, it means the web server is not correctly configured to handle application/x-httpd-php. The server is treating the file as a generic download because it doesn't know it should execute the script; you must enable the PHP module in your server configuration.

How do I configure Apache to process PHP files?

You can typically enable PHP processing by adding a directive to your httpd.conf or .htaccess file. A common configuration is AddType application/x-httpd-php .php, which links the extension to the PHP handler.

Does the browser receive application/x-httpd-php in the HTTP headers?

No, the browser usually receives the output of the script, which is typically text/html or application/json. If a browser sees application/x-httpd-php, it implies a server misconfiguration where the raw source code (potentially containing passwords) was sent to the client.

Can I use this MIME type to run PHP inside .html files?

Yes, you can force the server to check .html files for PHP code by adding AddType application/x-httpd-php .html to your configuration. However, this causes the server to process every HTML file as a script, which can reduce performance.

What is the difference between application/x-httpd-php and application/x-httpd-php-source?

The type application/x-httpd-php executes the script, whereas application/x-httpd-php-source displays the raw code with syntax highlighting (often used for .phps files). You should never use the source type for live scripts containing sensitive credentials.

Is application/x-httpd-php a standard IANA MIME type?

No, it is a specific identifier used internally by web servers (like Apache) to trigger the PHP handler. It is not a standard media type for data exchange over the internet, unlike text/html or image/jpeg.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.