4

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?

Can Sürmeli
  • 249
  • 1
  • 3
  • 12
  • 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 – Can Sürmeli Oct 29 '18 at 11:54

1 Answers1

1

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
Rui F Ribeiro
  • 55,929
  • 26
  • 146
  • 227