【问题标题】:PHP - Make .txt file executable on apachePHP - 使 .txt 文件在 apache 上可执行
【发布时间】:2014-01-31 12:17:30
【问题描述】:

我正在寻找一种方法让 apache 服务器知道我的 .txt 包含 php 可执行代码并且应该执行它。我想让浏览器和用户认为该文件是一个 .txt 文件,而实际上它是一个 php 文件。

示例:

http://example.com/test.txt

test.txt

<?php echo "Hello World"; ?>

【问题讨论】:

标签: php apache


【解决方案1】:

要仅在特定文件上运行,以下AddType 将起作用:

<Files test.txt> 
    AddType application/x-httpd-php .txt
</Files>

对于没有扩展名的文件:

<Files test> 
    ForceType application/x-httpd-php
</Files>

如果这给您带来问题,您可能需要使用 application/x-httpd-php5(注意“5”),具体取决于您的环境设置。

只需放置在您的服务器/虚拟主机配置中,或放在 .htaccess 文件中。

【讨论】:

  • 如果没有扩展怎么办?
  • @user2789433 在这种情况下(但为什么?)您需要ForceType 文件。我已经更新了我的答案。
  • forcetype 是否不安全或有问题?
  • @user2789433 不,没关系。唯一的安全问题是,如果您更改相关的 apache 配置,删除 .htaccess,那么该文件将作为纯文本文件提供给用户。从而暴露您的 PHP 代码。但这与如果 apache 完全停止提供 php 服务(客户端将下载原始 PHP 文件)所面临的风险没有什么不同。
【解决方案2】:

如果您想像 PHP 一样运行其他文件扩展名,请编辑您的 .htaccess 以指定文件类型。例如,将 .txt 作为 PHP 运行:

AddType application/x-httpd-php .txt

【讨论】:

  • 具体的 test.txt 怎么样?
  • @user2789433 查看我的回复,我的解决方案仅适用于特定文件。
猜你喜欢
  • 2015-11-22
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 2022-07-19
  • 2012-07-13
  • 1970-01-01
相关资源
最近更新 更多