What is MIME type "text/x-php"?

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

text/x-php is a MIME type used to mark files that contain PHP code. This code is processed on the server to generate dynamic web pages and perform other tasks.

Files using this MIME type are usually run by a PHP interpreter. They allow servers to process instructions such as accessing databases, handling forms, and managing sessions. Files like PHP, PHP3, and PHP4 fall into this category.


Though not officially registered with IANA, text/x-php helps tools and software provide proper syntax highlighting and file handling. For more detailed information about MIME types, visit MDN’s MIME Types documentation.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-php    
  

HTML

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


    <a href="file.dat" type="text/x-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', 'text/x-php');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

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

This happens when the web server is not configured to execute PHP code. Instead of running the script and sending HTML, the server sends the raw code with the text/x-php header, causing the browser to treat it as a file download. Ensure your server (like Apache or Nginx) has the PHP module installed and enabled.

Is text/x-php an official IANA media type?

No, the x- prefix indicates it is a non-standard or experimental type. While widely recognized by editors and operating systems for syntax highlighting, there is no single standardized MIME type for PHP source code. You may also encounter application/x-php or text/php.

Is it safe to serve files with Content-Type: text/x-php to users?

Generally, no. Serving raw PHP code exposes your server-side logic, database credentials, and internal structure to the public. PHP files should be processed on the server, resulting in output types like text/html or application/json being sent to the client.

How do I fix "text/x-php" download errors in Apache?

You need to tell Apache to process files ending in .php using the PHP module. Ensure mod_php is installed and add AddType application/x-httpd-php .php to your configuration or .htaccess file. This ensures the output is rendered HTML rather than the raw text/x-php source.

How should I handle text/x-php in file uploads?

If you detect an uploaded file with the MIME type text/x-php, it indicates the file contains executable server-side code. For security, you should generally block these uploads to prevent attackers from executing malicious scripts on your server. Always validate extensions like php alongside the MIME type.

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

text/x-php usually refers to the content of the file (the source code text) and is often used by client-side applications or during file uploads. application/x-httpd-php is a handler specific to Apache web servers that instructs the server to pass the file to the PHP interpreter for execution.

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.