2010-11-01 60 views
2

我想在web服務器上發佈我所有的項目源代碼,但是我遇到了問題。所有的源代碼都在php中,當我發佈它時,服務器會嘗試執行它。如何以純文本格式在web服務器上發佈php文件

要嘗試並避免這種情況,我將文件擴展名更改爲.html,但這並不奏效。當我發佈java文件,他們只是以純文本顯示是否有某種方式可以發佈這樣的PHP文件?

+0

您使用的是什麼Web服務器/操作系統? – 2010-11-01 16:58:33

回答

3

將擴展名更改爲.txt?

3

如果你使用Apache,你可以在你的源目錄包含添加.htaccess文件:

AddType text/plain .php

另外,如果您的服務器設置爲你可以嘗試使用.phps擴展那。

1

如果您正在使用Apache和mod_php的應該是在你的httpd.conf文件符合類似:

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

確保html的不在此名單。

+0

一個好主意,因爲有幾個應用程序喜歡僞裝他們對PHP的使用(通過使用HTML擴展) – Rudu 2010-11-01 17:05:00

1

使用.htaccess指令。取消設置php處理程序並將.htaccess放到你想要的php腳本中否認執行的目錄

5

.phps(php源代碼)擴展功能被某些服務器支持,甚至會爲你做源代碼高亮顯示。

您可能必須在.htaccess文件中執行AddType application/x-httpd-php-source .phps才能使其正常工作。

+0

同意,現成的Apache通常以這種方式配置,可能是最好的選擇(out of .txt或其他擴展名)。 – Rudu 2010-11-01 17:04:00

0

如果您的服務器不支持.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> 

和伴隨source.php文件:

// Basic filename sanitization 
$file = './' . preg_replace("/[^a-zA-Z0-9\/\.-_]/", '', $_GET['file']); 

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

你應該貫穿代碼格式的源代碼來生成漂亮的HTML文件,併發布作爲單獨的HTML文檔。

相關問題