1

所以我的服务器突然停止解析 PHP(将原始 php 发送到客户端)。我不确定它是什么时候发生的,但我今天才注意到。我在搞乱一些 mod_rewrite 的东西,但我把它放回去了,它没有改变。除此之外,我没有改变任何东西(据我所知)。想法?顺便说一句,这是一个 Ubuntu 11.10 服务器。

4

3 回答 3

2

几件事可以尝试...

第一的:

 apachectl -t -D DUMP_MODULES | grep php

你应该得到类似的东西:

 php5_module (shared)

至少。

其次......你如何重新启动apache?你确定它会被杀死?在此之前,我使用了一个 apache init.d 脚本,它实际上会运行一个apachectl configtest以确保它在停止和重新启动之前没有错误。所以,也许你需要停下来,确保它停止,然后重新开始。

此外,在您的配置中,请确保您具有以下内容:

<IfModule php5_module>
    AddType application/x-httpd-php .php
</IfModule>

您不一定需要该<IfModule>指令,但不会受到伤害。

你运行的是什么版本的apache?

于 2012-04-28T07:32:10.340 回答
0

删除 Rewrite 设置可能是您返回错误。

并重新启动 Apache 服务器。希望这能解决问题。

可以参考

http://www.matthewwittering.co.uk/blog/ubuntu-tips/apache-not-running-php-files.htm

https://askubuntu.com/questions/59272/php-not-working-in-apache2-after-system-upgrade

<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>
于 2012-04-28T07:05:42.853 回答
0

查看:

  • PHP 文件设置了可执行位
  • 将“index.php”设置为您的 Web 根目录中的默认索引文件之一
  • 该 php 模块由 apache 加载(请参阅 apache 配置文件,可能在附近启用 mod_rewrite 模块)
于 2012-04-28T07:09:00.700 回答