I have a virtual private server with Parallels Power Panel on CentOS 6. The default Apache virtual host (accessed using the IP) works wihtout any problem.

Now I created a new domain with Plesk and copied the files in the virtual host directory. Unfortunately PHP scripts doesn't work - you can access them, but they are not prepocessed. PHP module is working since the default virtual host is still working.

I tried to modify the httpd.conf (here is the full file) adding the NameVirtualHost directive and a VirtualHost section without success. This is the section I added:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin admin@###.com
    DocumentRoot /var/www/vhosts/###.com/httpdocs/
    ServerName www.###.com
    ServerAlias ###.com
    ErrorLog /var/log/httpd/###.com/error.log
    CustomLog /var/log/httpd/###.com/access.log common

<Directory "/var/www/vhosts/###.com/httpdocs/">
    Options Indexes FollowSymLinks Includes MultiViews ExecCGI
    AllowOverride All

    Order allow,deny
    Allow from all


and this is my php.conf (in conf.d):

<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so

AddHandler php5-script .php

DirectoryIndex index.php

AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php
  • When you say "you can access them, but they are not pre-processed", do you mean that you see the source code as plain text? – Phil Sturgeon Jul 31 '13 at 17:18
  • @PhilSturgeon: yes, the browser tries to download the php file, and stop. – Marco Sulla Jul 31 '13 at 17:20
  • I answered with a bit more info. – Phil Sturgeon Jul 31 '13 at 17:29

If it's default installation (httpd, php packages), nothing changed, then it should be a php.ini issue with short_open_tag - php will parse files with .php extension, but ignore content if it doesn't start with <?php.

| improve this answer | |
  • Thank you for your answer, but I do not use short tags. I do not know if apache configuration is the default one, since I'm using a virtual server with CentOS, Plesk and some basic packages preinstalled by my cheap but lacking provider. – Marco Sulla Aug 1 '13 at 10:53

For the record, the problem was Plesk.

Probably there was some problem with the manual installation of PHP 5 from Webtatic. After that any new subdomain created with Plesk have in their Apache configuration php_admin_flag engine off.

It was difficult to find where they are because Plesk creates one configuration file for every [sub]domain in a conf subdir of the domain directory and include them in httpd.conf. That is a good practice, but hard to find and you can't personalize it easily if you want to do something different from GUI options (if you change something via GUI the old conf file will be not modified, but a new one will be created and you have to reapply all your modifications).

| improve this answer | |

It sounds like you have not configured Apache to parse .php files correctly. It doesn't know what to do with them, so it spits them out as download.


Try step 11.

| improve this answer | |
  • Thank you, but all the configuration in step 11 are already present in conf.d/php.conf (I added the code to the question). – Marco Sulla Jul 31 '13 at 17:38
  • Try this? stackoverflow.com/questions/6245895/… – Phil Sturgeon Jul 31 '13 at 17:40
  • The default virtual host is working well... read the first part of my question ;) – Marco Sulla Jul 31 '13 at 17:42
  • I read that, I suggest you read some of the answers. If Apache is serving up PHP files as plain text downloads then you probably dont have mod_php set up properly. – Phil Sturgeon Jul 31 '13 at 17:54
  • Sorry, I only read the first answer to your linked question. Anyway PHP is installed, I restart the httpd service every time I modify any configuration files, I do not have a php_admin_value rule and on CentOS there's only conf.d, not mods-enabled etc... :( – Marco Sulla Jul 31 '13 at 18:22

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.