2013-08-06 81 views
8

我已經看到了這個問題,回答了很多次,但大多數最終要麼沒有答案或者告訴提問者把這個:爲什麼php沒有運行?

<?php phpinfo() ?> 
在測試文件

。很明顯,如果這產生了預期的結果,我就不會在這裏。相反,我得到一個404錯誤。

我在使用亞馬遜的Ubuntu 12.04服務器。安裝Apache,安裝php5,並重新啓動apache。我跟着下面的順序:

sudo apt-get install apache2 

sudo apt-get install php5 

sudo apt-get install libapache2-mod-php5 

sudo /etc/init.d/apache2 restart 

每個前三個命令之一,現在給了我。「Apache2的已經是最新版本 0升級,0新裝,要卸載0和3未升級」顯然,更換apache2與php5和libapache2-mod-php5的其他兩個。

這是一個肯定的方式告訴我它的安裝,正確嗎?那麼,當我使用「top」命令時,php不是正在運行的服務之一,它告訴我它沒有運行,是正確的?

導航到IP地址給了我亞馬遜的「It Works!」頁面,但導航到服務器上的任何其他頁面都會產生404錯誤。

任何幫助,非常感謝。

+3

試試這個:phpinfo(); – Maximus2012

+2

phpinfo是一個函數。使用'phpinfo()'。 – Mic1780

+0

如果你得到404錯誤,那麼你的意思是任何其他頁面 – 2013-08-06 16:54:37

回答

9

查看apache配置文件。對於Debian/Ubuntu,在RedHat/CentOS/etc的/etc/apache2/sites-available/中,它們在/etc/httpd/conf.d/。如果你剛剛安裝了它,那裏的文件可能被命名爲default

確保其中的配置文件指向正確的文件夾,然後確保您的腳本位於那裏。

您在這些文件中查找的行是DocumentRoot /path/to/directory

對於空白安裝,您的php文件最有可能需要在/var/www/

什麼,你還需要做的是找到你的php.ini文件,可能位於/etc/php5/apache2/php.ini/etc/php.ini並找到display_errors進入和切換到On

+0

啊!非常感謝!我確實懷疑我在錯誤的地方,但我被告知這是正確的目錄。我將不得不寫下這個以備將來參考。 – Christian

+0

我仍然不確定爲什麼「頂部」沒有顯示PHP,但我在該文件夾中創建了一個PHP文件,它工作得很好。 – Christian

+0

頂部?如'top'命令中那樣?它不會顯示PHP,它會顯示爲Apache。但我很高興我可以幫助! – castis

-5

您需要分號添加到的所有的PHP之類的東西的回聲,函數結束,等

變化<?php phpinfo() ?><?php phpinfo(); ?>

如果不起作用,使用PHP的功能的ini_set來顯示錯誤: ini_set('display_errors', 1);

+4

如果一個函數是php標籤內唯一的東西,分號無關緊要。 – castis

+1

你是對的@castis。但這是最佳做法。看看這裏:http://stackoverflow.com/a/2038751/1637737所以實際上分號仍然是必需的。 PHP是足夠聰明的解決懶惰的問題。 – Mic1780

+3

多數民衆贊成在各方面,但它並沒有幫助他與他的問題。 – castis

0

當Ubuntu的14.04下安裝Apache和PHP,我需要通過發行a2enmod PHP5-CGI專門開啓PHP CONFIGS

5

一個大疑難雜症的是,PHP在用戶主目錄默認是關閉的,所以如果你是測試從public_html它不起作用。 檢查 /etc/apache2/mods-enabled/php5.conf

# Running PHP scripts in user directories is disabled by default 
# 
# To re-enable PHP in user directories comment the following lines 
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it 
# prevents .htaccess files from disabling it. 
#<IfModule mod_userdir.c> 
# <Directory /home/*/public_html> 
#  php_admin_flag engine Off 
# </Directory> 
#</IfModule> 

比Ubuntu的,安裝其他是真實的容易,因爲所有的東西,你曾經有過把在httpd.conf中是自動完成的。

+0

爲我工作 – spankmaster79

0

輸入瀏覽器localhost:80 // test5.php [其中80是你的端口,test.php是你的文件名]而不是c://xampp/htdocs/test.php。