Search code examples
phplinuxapachewebserverlamp

Apache won't parse php page


So I've installed LAMP on an Ubuntu machine for some php development and everything is working fine except instead of parsing and displaying php pages, the browser is asking me if I want to download them. I know this is a well documented issue, and I've already been to the Ubuntu page concerning it, and gone through all the potential causes. I've installed libapache2-mod-php5 and upon running sudo a2enmod php5 I get module php5 already enabled. So I think I've pretty much narrowed the problem down to a php file authorizations issue.

Now I should point out that this only happened after I modified the config file to allow a UserDir in my /home/public_html. With the default configuration in folder /var/www php files parsed just fine, and still do, so long as I gave myself root access or modify their permisssions. And I didn't change anything else in the config file.

So, my question is, how do I check/modify the php authorization files? Where are they? What exactly do I check? I can't seem to find any good info on this.


Solution

  • So I figured this out with some really tedious searching, I'm surprised the solution is not more widely available, it's really very simple. The /etc/apache2/mods-available/php5.conf file comes with these lines.....

     8     # To re-enable php in user directories comment the following lines
      9     # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
     10     # prevents .htaccess files from disabling it.
     11     <IfModule mod_userdir.c>
     12         <Directory /home/*/public_html>
     13             php_admin_value engine Off
     14         </Directory>
     15     </IfModule>
    

    ...which obviously disable php in user directories. These need to be commented out.