Answers:
/var/log/apache2/error.log
如果成功加载了PHP,则应该显示如下一行:
[2011年8月30日星期二12:53:36] [注意]配置了Suhosin-Patch的Apache / 2.2.14(Ubuntu)PHP / 5.3.2-1ubuntu4.9-恢复正常运行
请注意日期,如果是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>
由于它是配置文件,因此升级时可能未安装该文件。为了解决这个问题清除它,然后再重新安装:
sudo apt-get purge libapache2-mod-php5
sudo apt-get install libapache2-mod-php5
要启用PHP,您必须运行:
sudo a2enmod php5
在以下情况下重新启动Web服务器:
sudo /etc/init.d/apache2 restart
其他要做的事情:
/etc/apache2
。sudo apache2ctl configtest
以检查配置中的语法错误status
模块必须加载此。如果您正在运行远程服务器,则需要将自己添加到Allow from
列表中,/etc/apache2/mods-enabled/status.conf
然后再重新启动服务器在没有其他方法起作用并且Apache变得非常混乱之后,我终于清除了所有Apache软件包并重新安装了它们。
似乎现在工作正常,谁知道这是怎么回事。
编辑
当我再次设置Apache配置设置时,我发现出了什么问题。[此博客条目] [1]对此进行了说明。
事实证明,尽管没有积极使用userdir模块,但其余站点文件仍位于我的〜/ public_html文件夹中,并且其中的所有内容都被禁用了php。
我想这肯定是对我的Karmic设置中不存在的php模块的最新补充。
/etc
复制任何文件(至少,有人/etc/init.d/apache2
在重新安装时没有创建问题,仅在清除+安装时有问题)