【问题标题】:Configure Apache to execute PHP scripts with PHP all uppercase filename extension配置 Apache 以使用 PHP 全大写文件扩展名执行 PHP 脚本
【发布时间】:2016-03-11 18:40:43
【问题描述】:

我有 2 个文件

一个是list.php(php小写)

<html>
<body>
    <b> 0 or 1 </b><br><pre>
    <?php 

        if(1 > 0){
            echo "1";

        }
        else
        {
          echo "0";
        }

    ?></pre>
</body>
</html>

当我运行文件时,我得到 0。

但是另一个文件是list.PHP(大写的PHP),当我运行它时,我得到的代码是文本!

我尝试在 apache 中设置AllowOverride all,但仍然有同样的问题。

【问题讨论】:

  • 如果你在 * NIX 系统上运行它,它是区分大小写的。 .php.PHP 是两种不同的动物。
  • 所以我能做些什么让它在.PHP的情况下工作
  • 如果文件存在并且使用大写扩展名创建,我不应该明白为什么它不起作用。
  • 问题是:为什么?您可能会在某个地方绊倒,或者有人可能会为页面添加书签并返回它以更改扩展名。更疯狂的事情发生了。

标签: php apache


【解决方案1】:

在Apache的配置文件httpd.conf中,查找下面一行:

AddType application/x-httpd-php .php 

添加另一行:

AddType application/x-httpd-php .PHP

这些更改要求您重新启动 Apache 守护程序。

【讨论】:

  • 我没有找到这一行:/ 但我在 .htaccess 中尝试过,因为有人以这种方式解决了这个问题,但同样的问题:/
  • @Vendetta 如果您在进行更改后没有重新启动 Apache/PHP,则在您重新启动之前它不会生效。
  • 这是您自己的服务器还是共享主机?在共享主机的情况下,您无权访问 Apache 配置文件,也无法分配具有某些功能的文件扩展名
  • @NineBerry 我自己的服务器
  • 好吧,然后在 httpd.conf 文件中查看是否有包含“.php”的行。例如,它可能会说 AddHandler 而不是 AddType
猜你喜欢
  • 2011-08-29
  • 2010-11-26
  • 1970-01-01
  • 2016-04-03
  • 2019-08-23
  • 2011-12-22
  • 2014-04-26
  • 2012-04-21
  • 1970-01-01
相关资源
最近更新 更多