我想在web服務器上發佈我所有的項目源代碼,但是我遇到了問題。所有的源代碼都在php中,當我發佈它時,服務器會嘗試執行它。如何以純文本格式在web服務器上發佈php文件
要嘗試並避免這種情況,我將文件擴展名更改爲.html,但這並不奏效。當我發佈java文件,他們只是以純文本顯示是否有某種方式可以發佈這樣的PHP文件?
我想在web服務器上發佈我所有的項目源代碼,但是我遇到了問題。所有的源代碼都在php中,當我發佈它時,服務器會嘗試執行它。如何以純文本格式在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的不在此名單。
一個好主意,因爲有幾個應用程序喜歡僞裝他們對PHP的使用(通過使用HTML擴展) – Rudu 2010-11-01 17:05:00
使用.htaccess指令。取消設置php處理程序並將.htaccess放到你想要的php腳本中否認執行的目錄
.phps
(php源代碼)擴展功能被某些服務器支持,甚至會爲你做源代碼高亮顯示。
您可能必須在.htaccess文件中執行AddType application/x-httpd-php-source .phps
才能使其正常工作。
同意,現成的Apache通常以這種方式配置,可能是最好的選擇(out of .txt或其他擴展名)。 – Rudu 2010-11-01 17:04:00
如果您的服務器不支持.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);
}
你應該貫穿代碼格式的源代碼來生成漂亮的HTML文件,併發布作爲單獨的HTML文檔。
您使用的是什麼Web服務器/操作系統? – 2010-11-01 16:58:33