![如何在 Apache2 中添加文件处理程序?](https://linux22.com/image/575730/%E5%A6%82%E4%BD%95%E5%9C%A8%20Apache2%20%E4%B8%AD%E6%B7%BB%E5%8A%A0%E6%96%87%E4%BB%B6%E5%A4%84%E7%90%86%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
我将一个网站从另一台服务器移到我的服务器上,其中有一个扩展名为 .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>
放入文件中。现在运行良好。