/var/log/apache2/error.log
должна показать строку, подобную приведенной ниже, если PHP был успешно загружен:
[Вторник, 30 августа 12:53:36 2011] [примечание] Apache / 2.2.14 (Ubuntu) PHP / 5.3.2-1ubuntu4.9 с настроенным Suhosin-Patch - возобновление нормальной работы
Обратите внимание на дату, если это что-то из 2009 года, вы что-то неправильно настроили.
AddType
бесполезно, вам нужно использовать:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
Смотрите также инструкции по установке на php.net для Apache 2.x .
Вам не нужно добавлять это вручную, пакет libapache2-mod-php5
установки /etc/apache2/mods-available/php5.conf
содержит:
<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
</IfModule>
Поскольку это conffile, возможно, он не установлен с обновлением. Чтобы исправить это, очистите его и затем установите снова:
sudo apt-get purge libapache2-mod-php5
sudo apt-get install libapache2-mod-php5
Чтобы включить PHP, вы должны запустить:
sudo a2enmod php5
Перезапустите веб-сервер после:
sudo /etc/init.d/apache2 restart
Другие вещи, чтобы сделать:
- проверьте наличие конфликтующих настроек в
/etc/apache2
.
- вы построили Apache из исходного кода?
- Запустите,
sudo apache2ctl configtest
чтобы проверить вашу конфигурацию на наличие синтаксических ошибок
- Откройте http: // localhost / server-info, чтобы проверить загруженную конфигурацию и модули.
status
Модуль должен быть загружен для этого. Если вы используете удаленный сервер, вам нужно добавить себя в Allow from
список /etc/apache2/mods-enabled/status.conf
и перезапустить сервер после этого
Ну, после того, как больше ничего не работало и Apache становился все более запутанным, я наконец просто удалил все пакеты Apache и переустановил их.
Кажется, сейчас работает нормально, кто знает, что с ним не так ....
РЕДАКТИРОВАТЬ
Я узнал, что было не так, когда снова настраивал параметры конфигурации Apache. [Эта запись в блоге] [1] объясняет это.
Оказывается, что хотя модуль userdir не используется активно, остальные файлы сайтов находятся в моей папке ~ / public_html, и php отключен для всего, что там есть.
Я предполагаю, что это, должно быть, недавнее дополнение к модулю php, которого не было в моих настройках Karmic.
источник
/etc
не копируются afaik (по крайней мере, у кого-то была проблема с тем, что он/etc/init.d/apache2
не создается при переустановке, только при чистке + установке)В
php5.conf
файле/etc/apache2/mods-enabled
внизу есть несколько строк, которые не позволяют php выполняться внутри пользовательского каталога, поэтому в зависимости от вашей конфигурации это также может быть вашей проблемой. Вы можете просто закомментировать эти строки и перезагрузить apache2источник