php showing source code in localhost
i have apache2 (Server version: Apache/2.4.7 (Ubuntu) Server built: Mar 10 2015 13:05:59), mysql and phpmyadmin.
While accessing php file by http://localhost/ or http://ipaddress
It shows up source code instead of executing.
Ubuntu 14.04 LTS
Solution 1:
I can think of 3 possibilities:
-
You don't have PHP installed. In that case run:
sudo apt-get install php php-mysql
-
You have PHP installed but not enabled. You can try running:
sudo a2enmod php7 sudo service apache2 restart
-
You have PHP installed and enabled but you haven't restarted apache.
sudo service apache2 restart
Solution 2:
you need to install libapache2-mod-php
sudo apt-get install libapache2-mod-php
it is no longer pulled by other packages as a dependency
in 14.04 it named libapache2-mod-php5, in 16.04 they dropped the number at the end for a meta package
Solution 3:
For Ubuntu 20.04, I had to run:
sudo a2dismod mpm_event
It tells you to restart Apache2, but you don't need to at this point. Then enable php 7.4 using:
sudo a2enmod php7.4
Then restart Apache2: sudo systemctl restart apache2
Hope this helps!
Solution 4:
After Upgrading to Ubuntu 17.10 this morning my answer was a combination of Sledge Hammer's and GM-Script-Writer-62850's answer. The exact commands I needed were:
sudo apt-get install libapache2-mod-php
sudo a2enmod php7.1
systemctl restart apache2