是什麼導致 PHP 頁面持續下載而不是正常運行

是什麼導致 PHP 頁面持續下載而不是正常運行

我在虛擬機器上運行 Ubuntu 伺服器,以測試不同的網路論壇解決方案。我已經設定了一個 ~/public_html/ 以便可以透過 apache2 Web 伺服器訪問,而且效果很好。

但是,當我在瀏覽器上存取 .php 檔案(使用我的虛擬機器的 ip-address/~username/phpfile.php)時,它不會以應有的方式顯示。相反,它提供保存到文件/詢問用什麼程式打開它。有趣的是,儘管該對話框確實識別出它是一個 php 檔案。


我的系統上安裝了以下版本的 php:

PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

以及以下伺服器:

Server version: Apache/2.2.14 (Ubuntu)
Server built:   Nov 18 2010 21:19:09


如果有人知道可能導致此/潛在解決方案的原因,那會讓我非常高興:)

編輯:結果檔案此行為僅在 ~/public_html/ 目錄中的檔案上明顯。 /var/www/ 中的所有 php 檔案都運作正常。

誰能解釋一下原因,就有獎品? :D(我所說的獎項只是指做得很好,恐怕沒有實際的獎項。)

答案1

您目前可能只安裝了 PHP 的 cli 版本,請嘗試

sudo apt-get install php5

並重新啟動阿帕契

sudo apache2ctl restart

您也可以執行以下操作來檢查 PHP 模組是否已載入到 apache 中

sudo apache2ctl -M

如果模組已加載,那麼它應該顯示類似的內容

Loaded Modules:
 ...
 php5_module (shared)
 ...
Syntax OK

答案2

將其新增至您的 apache 設定中

AddType application/x-httpd-php .php 

答案3

您需要設定 apache,以便在請求 .php 檔案時啟動 php 解釋器,而不是只傳回檔案內容。

這需要在相關目錄的 httpd.conf 中完成。它看起來像這樣:

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php 

# Add index.php to your DirectoryIndex line:
DirectoryIndex index.html index.php

AddType text/html       php

答案4

檢查.htaccessAddType 行。我有一個自訂的 AddType 導致了錯誤的內容類型。 Firefox 幫我除錯了這個問題,但您也可以使用wget.

火狐瀏覽器 獲取

相關內容