Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I've updated my server from Debian squeeze to Debian wheezy. On this server are several apache2 vhost which running php via mod_fcgid (I'm also using mod_suexec but this shouldn't be the problem). After the update all my php-sites are not working anymore, apache2 delivers php Source-Code if I request a site running php. All my log files

  • apache2/error.log
  • apache2/access.log
  • apache2/suexec.log
  • and the vhosts error/access logs

didn't come up with any errors, not even warnings. All neccesarry modules are installed and loaded. I searched for a possible solution for hours now, without any effort. Here is a sample vhost file ("sensitive" data is replaced, user/group and domain):

<VirtualHost *:80>
    SuexecUserGroup john-doe john-doe
    AddHandler fcgid-script .php
    DocumentRoot "/var/www/"
    DirectoryIndex index.php index.html

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    <Directory "/var/www/">
        Options Indexes MultiViews FollowSymLinks +ExecCGI
        FCGIWrapper /var/www/ .php
        Order allow,deny
        allow from all
        AllowOverride All
    ErrorLog /var/www/
    LogLevel warn
    CustomLog /var/www/ combined
    ServerSignature Off

Any ideas anyone? I asked this question on too, hope this is alright.

share|improve this question
After spending like 2 hours searching for the exact same thing, I stumbled upon your post which saved my day :) Thank you! (syn cookies have been the culprit in my case too) – Mladen B. Mar 6 at 0:26

1 Answer 1

up vote 2 down vote accepted

Now I stumbled upon the solution by myself. The problem is caused by an update of mod_fcgid which changed the directives used in the vhost configs. The changes could be seen here (this is what I stumbled upon).

The directive

FCGIWrapper /var/www/ .php

has to be changed to

FcgidWrapper /var/www/ .php

The documentation says

"All directives have been renamed in order to use a common prefix "Fcgid". Underscores in directive names have been eliminated in favor of CamelCase. The old directive names will still work but are deprecated. To fix your configuration you can use the sed script build/fixconf.sed."

but it seems like the old directive names didn't work anymore for now. The changes have done the trick for me, maybe this will help someone else.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.