【问题标题】:XAMPP problems with PHP5PHP5 的 XAMPP 问题
【发布时间】:2010-09-16 15:50:06
【问题描述】:

我在我的网站上启用了 PHP5,我的虚拟主机需要我将以下内容添加到 .htaccess 文件中以使 PHP5 正常工作:

AddHandler 应用程序/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml

在本地,我正在运行 XAMPP 来开发代码,但 XAMPP 不想使用上面的 .htaccess 文件。

我认为这是 XAMPP 无法识别 php5 的问题(但如果我使用“application/x-httpd-php”而不是“application/x-httpd-php5”,它确实可以识别 php)

我该如何解决这个问题?!我需要 .htaccess 文件看起来像上面那样,以便它们与我的网络主机一起使用,但我需要 XAMPP 在本地使用相同的文件而不进行更改!

【问题讨论】:

    标签: php xampp


    【解决方案1】:

    所以,你处于一个艰难的境地;理想情况下,您的虚拟主机不应该需要您在 htaccess 文件中添加额外的垃圾。对XAMPP不太了解,无法给出具体的解决方案,但可以给你一些指点:

    1. 您的虚拟主机正在运行使用 application/x-httpd-php5 的自定义编译版本的 PHP;虽然完全可以自己构建 PHP 或找到适当配置 SAPI 层的自定义构建,但您可能想要这样做。

    2. 根据主机给 htaccess 文件的余地多少,可以使用 仅有条件地执行 PHP fudge 代码。我没有测试过,你的虚拟主机可能禁用了这个功能。此外,您还必须找到合适的条件来进行测试。

    3. 我最喜欢的答案是接受它,并维护单独的 htaccess 文件。我在我的网站上这样做;我有一个 .htaccess.in 文件,其中包含“全局”声明,以及一个 htaccess.php 文件,它根据配置等生成真正的 .htaccess 文件。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      Apache 有<IfDefine> 指令。您可以使用它从您自己的服务器中隐藏AddType

      <IfDefine !MyServer>
      AddType application/x-httpd-php5 .php5 …
      …
      </IfDefine>
      

      然后用

      启动 apache
      apachectl -D MyServer
      

      【讨论】:

        【解决方案3】:

        另一个简单的解决方案:change the config file name 在家里。例如。在 httpd.conf 中:

        <Directory />
            #existing stuff here...
            AccessFileName .htaccess.home
        </Directory>
        

        现在您的家庭服务器将忽略您的“.htaccess”文件。您将使用“.htaccess.home”文件对其进行配置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-09-08
          • 2017-05-27
          • 2012-06-13
          • 1970-01-01
          • 2020-07-13
          • 2019-03-06
          相关资源
          最近更新 更多