Я обновил свой сервер с Debian squeeze до Debian wheezy. На этом сервере есть несколько vhost apache2, которые запускают php через mod_fcgid (я также использую mod_suexec, но это не должно быть проблемой). После обновления все мои php-сайты больше не работают, apache2 предоставляет исходный код php, если я запрашиваю сайт, на котором запущен php. Все мои файлы журналов
не придумал ни ошибок, ни даже предупреждений. Все необходимые модули установлены и загружены. Я без всяких усилий искал возможное решение часами. Вот пример файла vhost (заменяются "конфиденциальные" данные, пользователь / группа и домен):
<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 тоже, надеюсь, все в порядке.
Теперь я сам наткнулся на решение. Проблема вызвана обновлением mod_fcgid, которое изменило директивы, используемые в конфигурациях vhost. Изменения можно было увидеть Вот (вот на что я наткнулся).
Директива
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 ".
но похоже, что старые имена директив сейчас больше не работают. Изменения помогли мне, возможно, это поможет кому-то другому.