Search code examples
phpapachephp-8

Set Apache2 to process .html files as php 8.0


I have setup php/apache according to this linode guide: https://www.linode.com/docs/guides/install-php-8-for-apache-and-nginx-on-ubuntu/

This seems to have worked, and I have an apache server that can serve files, and process .php files.

However, I am having the darndest time figuring out how to tell apache to process .html files with .php. Any modification I make to .htaccess (a-la- https://manage.accuwebhosting.com/knowledgebase/2492/Parse-HTML-As-PHP-Using-HTACCESS-File.html and similar) produce no change. I have also set AllowOverride All to the /var/www/ directory in /etc/apache2/apache2.conf. Additionally, most online information on the subject points to earlier versions of .php, with no specific reference to 8.0.

What can get apache to process .html with php 8.0?


Solution

  • You need to have module for this, confirm you have this line in httpd.conf, or add it there:

    LoadModule mime_module modules/mod_mime.so
    

    Also check if you have the modules/mod_mime.so file present on your system.

    Then find or add module section in httpd.conf:

    <IfModule mime_module>
        # following line will change mime type of .html file to php
        # and they will be handled as such
        AddType application/x-httpd-php .html
    </IfModule>
    

    Directive AllowOverride All will enable .htaccess files but you need the mime_module enabled too.

    And of course restart the apache server after making configuration changes.

    Module documentation: here