I've installed PHP 7.2.11 on my CentOS 7 VPS along with Apache; however, I can't seem to load the PHP module into Apache so that my server can serve PHP content.

Right now, if I go to a URL that should serve PHP content, it's just displays the plain PHP code.

My httpd.conf looks for modules under /etc/httpd/conf.modules.d. In that directory, 15-php.conf has the following statement to load the required PHP module for Apache:

LoadModule php7_module modules/libphp7.so

Naturally, I restarted httpd to have it acknowledge the changes but with no luck.

What am I seem to be missing?

  • 1
    Yeah, that was the case. Thanks. Could you write it as an answer rather than a comment so that I can accept it. Also another question, as a best practice, should I add that statement directly into httpd.conf or into the php module file? @RuiFRibeiro Oct 29 '18 at 11:54

The problem of LAMP showing PHP files on the clear, upon new installations, or when migrating Apache configurations is fairly known.

Apache often does not know the mime type of the php file(s)/script(s), and thinks they are pure text files, and handles them as such.

Apache has them to be told the mime type of the intended extension name is application/x-httpd-php php

As for activating it, you might have the mime module for Apache; the configuration file usually is /etc/httpd/mods-available/mime.conf or /etc/httpd/conf.modules.d/mime.conf. (have not checked it out yet)

Lacking that file/module, I would prefer to add it to httpd.conf.

I would prefer not to touch 15-php.conf as it might get updated with new versions of PHP.

So to get Apache to recognize .php files as scripts, it needs to be added:

AddType application/x-httpd-php php
  • The directory for CentOS 7 is conf.modules.d. But I didn't have a mime.conf file anywhere so I created one named 00-mime.conf. Also, what does that numbering scheme relate to before the conf files? Oct 29 '18 at 12:32
  • It is the order into which they are loaded. It is a convention followed in more Linux software that works with modules. Oct 29 '18 at 12:38
  • Then is it appropriate for mime.conf to be 00-mime.conf? Oct 29 '18 at 12:40
  • 1
    It it is working for you, I see no problem. Oct 29 '18 at 12:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.