如何在 Apache2 中添加文件处理程序?

如何在 Apache2 中添加文件处理程序?

我将一个网站从另一台服务器移到我的服务器上,其中有一个扩展名为 .ph 的 PHP 文件。在其他服务器上,它运行正常,但在新服务器上却不行。它只是尝试下载相关文件,而不是通过 PHP 解析器发送它。

显然这与文件处理程序有关,因此我需要添加 .ph 扩展名才能将其作为 .php 文件处理。我认为这很简单,但仍然无法做到 :) Apache2 中发生了某种变化,我似乎无法弄清楚。

我尝试在 mime.conf 和 /etc/mime.types 中设置处理程序。目前没有任何效果。

由于应用程序的复杂性,我希望不必更改文件的扩展名。有人能给我指出正确的方向吗?这应该不难 :)

我在 Ubuntu 11.04 上运行 Apache 2.2.17 和 PHP 5.3.5。

答案1

修改 mime 配置后尝试一下

服务 apache2 重启

或者编辑你的 httpd.conf

已更新并测试:

AddHandler type-map var
AddHandler php5-script .ph
AddType text/html .php

答案2

问题似乎是在我的 /etc/apache2/mods-available/php5.conf 文件中有这样的定义:

<FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

正则表达式模式期望以 p3 或 tml 结尾到 .ph - 前缀。

最简单的修复方法是添加:

<FilesMatch "\.ph$">
    SetHandler application/x-httpd-php
</FilesMatch>

放入文件中。现在运行良好。

相关内容