如何在Apache中将php文件显示为纯文本

9
对于我本地运行的Ubuntu Apache服务器上的某个文件夹,我希望所有*php文件都显示为纯文本文件。我需要这样做是因为我只想查看这些文件的源代码而不运行它们。
在搜索过程中,我发现大多数人都有相反的问题:-) ,并且找不到适合我的解决方案。
我需要在我的文件夹的.htaccess文件中包含什么内容?
谢谢!

1
重复的问题:https://dev59.com/gXM_5IYBdhLWcg3wslRW - Brad
5个回答

14

答案:

在 .htaccess 文件中输入以下内容

php_flag engine off 
#This will prevent apache from executing *.php-files

AddType text/plain php
#this wil display php-files in browser (if not, browser will want to download file!)
感谢Brad!

当然,总会有不止一种解决方案。上述解决方案可以避免你需要重命名数十个文件。此外,在htaccess中设置默认字符集可能也是一个好主意。感谢所有在这个帖子中帮助我的人! - mdthh
感谢这个将近两年的回答!我看到其他大部分内容都忽略了 php_flag engine off 这一部分,导致出现了问题。 - Tarka
感谢您! - Rolf
php_flag engine off -- 用语法错误导致Apache崩溃 - TomTerrific

4
我的Godaddy设置无法让我编辑httpd.conf文件,而且由于他们为我实现php的方式,php_flag命令无法使用。我可以在我的.htaccess文件中使用以下内容:
SetHandler default-handler
AddType text/plain php

我把这个文件放在FTP用户可以访问的目录上面,这样该目录中以及所有子目录中的所有PHP文件都会被强制显示为纯文本。其他文件类型也适用。您只需要添加另一行代码,并输入您希望强制显示为纯文本的文件扩展名。例如,AddType text/plain cgi

2
请查看您的httpd.conf文件中的AddType后面是否跟着.php扩展名,将其更改为text/plain,并将php_flag engine更改为关闭状态value,就像Sam Bisbee所说的那样。最好在httpd.conf中进行这些更改,如果您有专用服务器,则.htaccess是无用的,并会降低性能。但您也可以只更改PHP脚本的扩展名...

0

我脑海中有两个解决方案...

  1. 将文件名扩展名更改为.phps,例如:index.phps

  2. 在.htaccess文件中更改它们的Content-type。使用AddType text/plain .php通过mod_mime实现此操作。更多信息请参见http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addtype


-2
关闭 Apache 中的 PHP 模块?(如果您不需要 PHP 执行,当然可以这样做)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接