web-dev-qa-db-ja.com

Debian squeezeからwheezyにアップグレードした後、Apache2 + mod_fcgid + phpが機能しなくなりました

サーバーをDebiansqueezeからDebianwheezyに更新しました。このサーバーには、mod_fcgidを介してphpを実行するいくつかのApache2仮想ホストがあります(私もmod_suexecを使用していますが、これは問題ではないはずです)。更新後、すべてのphpサイトが機能しなくなり、phpを実行しているサイトをリクエストすると、Apache2はphpソースコードを配信します。すべてのログファイル

  • Apache2/error.log
  • Apache2/access.log
  • Apache2/suexec.log
  • およびvhostsエラー/アクセスログ

警告さえも、エラーを思い付かなかった。すべてのneccesarryモジュールがインストールおよびロードされます。私は何の努力もせずに、今何時間も可能な解決策を探しました。これがサンプルの仮想ホストファイルです(「機密」データが置き換えられ、ユーザー/グループとドメイン):

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

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory "/var/www/example.com/data">
        Options Indexes MultiViews FollowSymLinks +ExecCGI
        FCGIWrapper /var/www/example.com/php-fcgi/php-fcgi-starter .php
        Order allow,deny
        allow from all
        AllowOverride All
    </Directory>
    ErrorLog /var/www/example.com/logs/error.log
    LogLevel warn
    CustomLog /var/www/example.com/logs/access.log combined
    ServerSignature Off
</VirtualHost>

誰かアイデアはありますか? superuser.com でもこの質問をしましたが、これで問題ないことを願っています。

2
morten.c

今、私は自分で解決策に出くわしました。この問題は、vhost構成で使用されるディレクティブを変更したmod_fcgidの更新が原因で発生します。変化を見ることができました ここ (これは私が偶然見つけたものです)。

ディレクティブ

FCGIWrapper /var/www/example.com/php-fcgi/php-fcgi-starter .php

に変更する必要があります

FcgidWrapper /var/www/example.com/php-fcgi/php-fcgi-starter .php

ドキュメントには

「共通のプレフィックス「Fcgid」を使用するために、すべてのディレクティブの名前が変更されました。CamelCaseを優先して、ディレクティブ名のアンダースコアが削除されました。古いディレクティブ名は引き続き機能しますが、非推奨になります。構成を修正するには、sedスクリプトを使用できます。 build /fixconf.sed。」

しかし、古いディレクティブ名は今のところ機能しなくなったようです。変更は私のためにトリックをしました、多分これは他の誰かを助けるでしょう。

2
morten.c