【问题标题】:How to support "AddType x-mapp-php5 .php" on my development machine如何在我的开发机器上支持“AddType x-mapp-php5 .php”
【发布时间】:2009-07-07 19:28:13
【问题描述】:

我的 ISP 要求我将以下内容放入我的 .htaccess 文件中:

AddType x-mapp-php5 .php

但这会破坏我的开发机器。

我不太明白该指令的用途,但我厌倦了为 dev 注释掉它,并且在我需要上传新版本时取消注释它。

有没有办法在开发中支持它?

【问题讨论】:

    标签: php .htaccess apache-config


    【解决方案1】:

    您可以尝试使用<IfModule> Apache 指令来区分您的开发机器和生产机器。

    例如如果您将 PHP 作为 Apache 模块运行,并且您的 ISP 将其作为 CGI 运行,则以下内容将起作用:

    <IfModule !mod_php5.c>
    AddType x-mapp-php5 .php
    </IfModule>
    

    您还可以检查是否存在 PHP4 模块。

    或者您可以将启动参数传递给您的开发机器上的 Apache,然后使用 &lt;IfDefine&gt; 进行检查。

    【讨论】:

    • 感谢墨卡托,这可能行得通。 ISP 默认提供 php4,这就是为什么我必须包含该行(切换到 php5)。我的开发服务器只有php5。所以检查 PHP4 听起来是一种明智的方法。
    • 太好了,您的代码 sn-p 无需修改即可工作。只要我的 ISP 不意外地改变他们提供 PHP5 的方式,我会没事的,祈祷。
    【解决方案2】:

    这只是告诉 Web 服务器扩展名为 .php 的文件将由 PHP 模块处理。

    但我建议您在 serverfault.com 上询问与网络服务器相关的问题,您的问题不会被关闭(原因属于 serverfault.com),并且您会收到比这里更好的答案。

    【讨论】:

    • 特别是 PHP5 模块
    • 有趣,我的 httpd.conf 有 AddType application/x-httpd-php .php - 所以我假设我的 php 模块识别 application/x-httpd-php,但我的 ISP 的服务器的 php 模块识别 x-映射-php5.可能是因为他们默认的 php_module 是 PHP4。
    猜你喜欢
    • 2012-03-26
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 2012-04-23
    • 2016-06-22
    • 2013-03-11
    相关资源
    最近更新 更多