Explore the versatility of hosting php: a step-by-step guide for enabling HTML files to display php code via .htaccess.
When creating your own site, you have many options. The basic files, particularly on Linux servers like the ones used for our hosting accounts, are either generally either HTML (files ending in the extension .html or .htm) or php (files ending in the extension .php) files. HTML is the markup language for displaying content and is not processed on the server side. Php is a programming style language used to create pages that are processed and served from the server. Php files can always read and display HTML code, but HTML does not automatically parse php code. To do so, you will need to make adjustments to your .htaccess file. Once that is done, the php code will display within HTML files without issue. Follow the instructions below as they guide you on enabling html files to display php code via your .htaccess file.
Enabling HTML files to display php code
- Log into your cPanel dashboard.
- Use the File Manager to navigate to the root folder for the domain you are working with, ensuring you set the Show Hidden Files option.
- Once in the root folder for the domain, check for the .htaccess file. If one is not there, you will need to create a new one. Once located, edit the file by highlighting the file and click on the Edit icon from the toolbar at the top of the page.
- This brings you to the cpanel file editor. You will want to insert the following line of code at the top of the .htaccess file.
AddType text/html .shtml .shtm .htm .html
AddHandler server-parsed .shtml .shtm .htm .html
Options Indexes
FollowSymLinks
Includes # Uncomment the version of PHP you have on your server
# Only one of the following can be uncommented
AddHandler application/x-httpd-imh-php56 .html
#AddHandler application/x-httpd-imh-php70 .html
#AddHandler application/x-httpd-imh-php71 .html
#AddHandler application/x-httpd-imh-php72 .html
#AddHandler application/x-httpd-ea-php72 .htmlImportant! You will need to check your php version so you know which line to comment in the previous code.
If you’re running 8.1+, then comment out:
FollowSymLinks
Includes # Uncomment the version of PHP you have on your server - Click the Save Changes button in the upper right corner of the screen. Your html file should now display the php code within it. Below is a before and after shot of the effects of the .htaccess edit.
Before After
Thank you sir
Nope. I use multiple cpanel instances and in at least one of them (I am nto trying to execute PHP from HTML in any domain all of them) this does nto work. White Screen of death.
Tech support on the phone says ‘this’ is out fo the scope of support.
Irritating, as it used to work. And it does work in some cpanel instances – all of which are set to php7.2
Thanks for contacting us. Have you tried adding it to .htaccess in a higher directory or changing the PHP version?
Its not working with php 7 what to add to .htacess?
I have updated the example code to include the correct syntax for PHP 7.0. You only need to uncomment the line that matches the version of PHP you are using. For PHP 7.0, your .htaccess file will look like the following:
AddType text/html .shtml .shtm .htm .html
AddHandler server-parsed .shtml .shtm .htm .html
Options Indexes FollowSymLinks Includes
# Uncomment the version of PHP you have on your server
# Only one of the following can be uncommented
AddHandler application/x-httpd-ea-php70 .shtml
#AddHandler application/x-httpd-php5 .shtml
#AddHandler application/x-httpd-php52 .shtml
#AddHandler application/x-httpd-php54 .shtml
#AddHandler application/x-httpd-php4 .shtml
I hope this helps!
How do you do this if your server API is set to CGI/FastCGI? I understand you need to use a php.ini file to do that but I can’t find a similar tutorial on that file.
Hello Ryan,
Check out this FAQ -the PHP section. This is the closest thing that I could find that may provide the answer you’re seeking. If you continue to have problems, please let us know.
Regards,
Arnel C.