如何在Web服务器上以纯文本形式发布php文件

如何在Web服务器上以纯文本形式发布php文件,php,Php,我想在我的Web服务器上发布一个项目的所有源代码,但是我有一个问题。所有的源代码都是php,当我发布它时,服务器会尝试执行它 为了避免这种情况,我将文件扩展名改为.html,但是这不起作用。当我发布java文件时,它们只是以纯文本形式显示。我是否可以发布这样的php文件?将扩展名更改为.txt?如果您使用apache,您可以在源目录中添加一个.htaccess文件,其中包含: AddType text/plain.php 或者,如果您的服务器设置了.phps扩展名,您也可以尝试使用该扩展名。如果

我想在我的Web服务器上发布一个项目的所有源代码,但是我有一个问题。所有的源代码都是php,当我发布它时,服务器会尝试执行它


为了避免这种情况,我将文件扩展名改为.html,但是这不起作用。当我发布java文件时,它们只是以纯文本形式显示。我是否可以发布这样的php文件?

将扩展名更改为.txt?

如果您使用apache,您可以在源目录中添加一个.htaccess文件,其中包含:

AddType text/plain.php


或者,如果您的服务器设置了
.phps
扩展名,您也可以尝试使用该扩展名。

如果您使用的是Apache和mod_php,则在httpd.conf文件中应该有一行内容如下:

AddType application/x-httpd-php .php5 .php4 .php

确保.html不在此列表中。

使用.htaccess指令。取消设置php处理程序并将.htaccess放入希望php脚本拒绝执行的目录中

一些服务器支持
.phps
(php源代码)扩展,甚至可以为您进行源代码高亮显示


您可能必须在.htaccess文件中执行一个
AddType应用程序/x-httpd-php-source.phps
,才能使其正常工作。

如果您的服务器不支持
.phps
扩展名,您可以自己运行

在.htaccess中:

AddType application/x-httpd-php-source .phps

<IfModule mod_rewrite.c>
    RewriteEngine   On

    RewriteCond %{REQUEST_FILENAME} \.phps$
    RewriteRule ^(.*)s$ source.php?file=$1
</IfModule>

您应该通过代码格式化程序运行源代码,生成漂亮的HTML文件,并将其作为单独的HTML文档发布。

您使用的是什么web服务器/操作系统?同意,开箱即用的Apache通常以这种方式配置,可能是最佳选择(out of.txt或其他扩展名)。这是一个检查的好主意,因为有一些应用程序喜欢隐藏其对PHP的使用(通过使用HTML扩展)
// Basic filename sanitization
$file = './' . preg_replace("/[^a-zA-Z0-9\/\.-_]/", '', $_GET['file']);

if (file_exists($file)) {
    highlight_file($file);
}