OS and server information:
- CentOS 6.4 (Final)
- Apache 2.2.15
- PHP 5.5.1
I previously had php 5.3.x installed but decided to upgrade. I first uninstalled the php 5.3.x and then installed php 5.5.1 but after the installation completed apache did not parse the php files it just downloaded them. I have checked similar questions here in stackoverflow but none of them have helped me so far.
For the record I have the following lines in my httpd.conf and php.conf that should make php work but don't:
AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php
I would really appreciate any help. Thank you.
EDIT:
I have these lines in the php.conf
<IfModule !worker.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
EDIT:
By removing the
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
apache no longer downloads the file. Now apache is showing the source code, but not all of it just part. I added
AddType text/html .php
but no luck.
I previously has a similar issue, after upgrading from 5.3 to 5.4. But my setup looks a little bit different as that I'm running Debian and using fcgid to server the PHP pages, and not the PHP5 apache/cgi module. So after I upgraded, it also installed php5_cgi, which collided with my fcgid setup, and would not execute PHP files anymore.
I had to disable the Apache Module and restart Apache
Once the php5_cgi module was out of the way, fcgid was able to serve PHP pages again.
I had this problem and if you actually never played with your server configuration settings, then your problem is 90% in your .htaccess file
You either modify .htaccess file LOCALLY, ore delete it (LOCALLY)
It's also possible that you have nginx running but your php is set up to run with apache. To verify, run
service nginx status
andservice apache2 status
to see which is running. In the case that nginx is running and apache is not, just runsudo service nginx stop; sudo service apache2 start
and your server will now serve php files as expected.The correct AddType for php is application/x-httpd-php
Also make sure your php module is loaded
When you're configuring apache then try to view the page from another browser - I've had days when chrome stubbornly caches the result and it keeps downloading the source code while in another browser it's just fine.
this solved the problem for me (I have php7 installed):
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 restart
If Your .htaccess have anything like this