2011-06-05 46 views
33

在我的新的Ubuntu系統,我已經成功地得到的Apache2啓動並運行了發展我ZendFramework Web應用程序...Apache2的Ubuntu上 - PHP文件下載

我有我的available-sites的配置,因爲我工作正常我能夠請求localhost,並且它從我指定的目錄服務器上正確的index.html

問題:如果我請求index.php,firefox會嘗試下載文件而不是運行腳本。

任何想法爲什麼會發生這種情況?

我已將以下內容添加到httpd.conf,但它沒有幫助。

AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml 

AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml 
+0

你有改變的httpd.conf後重新啓動Apache的?除此之外,我沒有看到問題。 (我的服務器只有'AddType',但我不確定它是否重要。) – andrewdski 2011-06-05 21:19:38

+0

感謝您的回覆。原來我只安裝了Apache服務器,而不是PHP。我認爲它是捆綁在一起的,並且會一起安裝......你知道他們對假設的看法......哈! – shane 2011-06-05 21:23:34

+0

如果有人遇到了問題,並且已經安裝了'libapache2-mod-php5'。然後,如果您在家庭'public-html'文件夾中遇到問題,請檢查'/ etc/apache2/mods-available/php5.conf' - 它有一個部分關閉家用文件夾的PHP部分(出於某些原因)。 ' php_admin_value引擎關閉...' – 2014-07-31 11:55:01

回答

66

如果firefox下載你的php文件,這意味着你的服務器沒有安裝php或apache php模塊。

你安裝了apache php模塊嗎? 如果不是,然後再進行安裝,請鍵入下到終端:

sudo apt-get install libapache2-mod-php5 

,如果是,你有你的index.php位於/var/www/

確保開啓PHP與命令

sudo a2enmod php5 
+1

哈!謝謝! (工作)這是否意味着我需要分別安裝mysql?有什麼機會幫助我執行命令?非常感謝 – shane 2011-06-05 21:21:19

+0

@shane'sudo apt-get install mysql-server' – damianb 2011-06-05 21:22:20

+0

您的一位紳士,謝謝。我目前正在從Windows上開發遷移。 MySQL的安裝會給我phpmyadmin嗎? – shane 2011-06-05 21:24:51

3

您需要啓用PHP擴展。使用命令sudo a2enmod php執行此操作。

2

我假設你已經安裝了PHP並安裝了PHP模塊的Apache這裏...

你有沒有重新啓動Apache?如果不是:sudo service apache2 restart

確保您的httpd.conf文件也在執行中。如有必要,請在進行編輯後重新啓動它,這會導致加載時出錯。如果它不能重新啓動,它不會運行.conf文件。

如果問題仍然存在,請關閉瀏覽器,重新打開它並清除緩存。它可能只是瀏覽器緩存頁面響應。

12

如果您使用userdir(http:// localhost /〜user/phpinfo。PHP),你會想:

vi /etc/apache2/mods-enabled/php5.conf 

變化

<IfModule mod_userdir.c> 
    <Directory /home/*/public_html> 
     php_admin_value engine Off 
    </Directory> 
</IfModule> 

評論的php_admin_value

<IfModule mod_userdir.c> 
    <Directory /home/*/public_html> 
     #php_admin_value engine Off 
    </Directory> 
</IfModule> 

然後

service apache2 restart 
+0

I他感到困惑的是,這是一個解決方案。具體來說,無論設置爲「On」還是「Off」,提及「php_admin_value引擎」似乎都有問題。爲什麼會是這種情況?空指令是否被忽略? – valid 2014-07-26 18:10:06

4

對我來說,解決辦法是創建跟隨2個符號鏈接:

ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf 
ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load 

,並重新啓動Apache:

/etc/init.d/apache2 restart 

擊中http://my_server/test.php文件,裏面有內容:

<?php 
    phpinfo(); 
?> 

來到正確的,而瀏覽器沒有試圖下載PHP文件。無需重啓瀏覽器。

+3

你可以使用'a2enmod php5'創建simlinks + – 2013-08-05 11:39:53

+1

+1準確地說我的問題,感謝解決方案 – infinity 2013-08-14 16:21:15

0

我已經安裝了PHP 7.0並獲取了dailog框。我已經安裝了7.0版的apache php模塊,它解決了我的問題。

命令和apt-get安裝中的libapache2-MOD-php7.0