2010-02-23 53 views
11

一切都很順利,直到我將AddHandler application/x-httpd-php5s .php添加到本地服務器的文檔根目錄中的.htaccess文件中(我經常根據站點更改合作)。因爲當我訪問http://localhost:8888時,我這樣做了,我的瀏覽器只是下載了index.php,它根本就沒有處理,只是原始代碼。現在我從.htaccess文件中刪除了該行,但我仍然有這個問題PHP文件通過瀏覽器下載,而不是由本地開發服務器(MAMP)處理

我發現如果我爲127.0.0.1添加一個替代條目到我的主機文件,新條目的行爲就像'localhost'一樣。但是,如果我將上面的行添加到我的.htaccess中,它也會敲除新的主機。我試過重新安裝MAMP並清除它的緩存以及所有可以找到的臨時文件。我通過Apache的httpd.conf文件瀏覽所有無濟於事。

因此,要清楚:http://localhost:8888正在經歷上述問題。如果我爲127.0.0.1的主機文件添加一個新條目,說'goomba'並且上面的行不在根.htaccess中(並且從來沒有用於該主機/別名/無論如何),那麼我可以訪問http://goomba:8888就好了。但是,如果我確實將該行添加到.htaccess中,那麼即使我從.htaccess文件中刪除該行,我也必須在主機文件中添加另一個條目以繞過

我很好,使用不同的127.0.0.1別名(主機?那叫什麼?),但它是我的問題,這仍然是打破。要清楚,我在Mac OS Leopard(但我沒有使用內置的Apache設置,但MAMP)。

回答

4

你申請一個MIME類型,其中的處理程序應該是(見documentation on handlers

試試這個:

AddType application/x-httpd-php5 .php 

編輯: 正如你所指出的緩存模塊被加載,你可以閱讀起來在cachinghtcacheclean(清除磁盤緩存)。您也可以暫時使用CacheDisable指令。還有一件事你可以嘗試重命名你所請求的文件(例如index.php - > index.bak),在瀏覽器中重新請求文件(現在應該是404),然後恢復並重試。

+0

我已經嘗試過(並再次,只是現在)無濟於事。無論如何,我的httpd.conf已經有該行(減去5)。我的問題是,儘管我的問題中提到的問題行被刪除,但我仍然遇到問題。這就像服務器已經緩存了.htaccess文件僅用於'localhost',而不是指向127.0.0.1的其他主機。請將重點放在我的問題上進行澄清。無論如何謝謝你! – donut 2010-02-24 00:19:29

+0

服務器是否加載了任何緩存模塊?是的,這個「5」是偶然留下的 – Cez 2010-02-24 11:40:31

+0

它確實有:file_cache_module,cache_module,disk_cache_module和mem_cache_module。我怎麼能清除這些緩存?這些會導致這個問題嗎?謝謝! – donut 2010-02-25 05:47:45

0

首先檢查您的apache服務器是否正在運行。開始 - >運行> cmd,然後執行命令:

netstat的-abn

查找結果爲這樣的線:

TCP 0.0.0.0:8888 0.0.0.0:0偵聽600 [apache的.exe]

如果你找不到端口8888(沒有0.0.0.0:8888行)監聽,那麼你的Apache無法啓動。要找出它不能啓動的原因,你應該找到Apache日誌目錄並檢查error.log(可能是你已經更新了你的PHP?)。如果您發現0.0.0.0:80監聽線,但其他軟件正在監聽(您是否有IIS運行?),那麼您應該刪除/重新配置該軟件以釋放端口80.如果您有端口80上的apache監聽,但仍然無法打開你的網站,你不能通過檢查Apache日誌文件找出是什麼導致問題,那麼它是我的數據庫問題。請檢查您的MySQL正在運行,並使用相同的命令聽,但你應該尋找

TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING的[mysqld-NT.EXE]

如果你不能找到這樣的行那麼你的mysql服務器沒有運行 - 檢查mysql日誌文件是否有錯誤。如果兩臺服務器都在運行,並且無法在瀏覽器中獲得任何輸出,請檢查防火牆和防病毒軟件 - 它們可能會阻止您的請求。希望這有助於;)

+1

有幾件事情:我在Mac OS Leopard的; Apache服務器正在處理我的主機文件的新條目。請參閱我的文章的更新以獲取更多詳細信息。謝謝! – donut 2010-02-23 09:07:59

2

也許你想application/x-httpd-php5而不是application/x-httpd-php5s? (請注意最後缺少s。)

+0

我試過了,無濟於事。在沒有任何東西在.htaccess中工作之前就好了。 – donut 2010-02-23 09:08:50

1

對於同樣的問題,我刪除了 '5' 將AddType應用/ X的httpd - PHP .PHP的.htm的.html

其做工精細!嘗試

12

我有一個類似的問題幾次,重命名文件沒有爲我工作。在OS X Lion中我找到了正確的配置是這樣的:

<IfModule php5_module> 
    AddType application/x-httpd-php .php 
    <FilesMatch \.php$> 
     SetHandler application/x-httpd-php 
    </FilesMatch> 
    AddType application/x-httpd-php-source .phps 
    <IfModule dir_module> 
     DirectoryIndex index.php index.html 
    </IfModule> 
</IfModule> 

,使得它爲我工作的法寶是SetHandler application/x-httpd-php一部分。

當然編輯<IfModule php5_module>到您的PHP版本。

+0

OSX Mountain Lion也是如此。 – Jack 2013-06-26 05:30:50

+3

這應該放在哪裏? – 2013-11-06 20:45:08

+0

@ToniMichelCaubet:晚會之後,把它放在'/etc/apache2/other/php5.conf'中,並確保apache的主配置(在/etc/apache2/httpd.conf中)有一個未註釋的行(接近底部),其內容如下:'include/etc/apache2/other/*。conf'。 – webtweakers 2016-10-08 17:41:19

0

我其實有一個非常類似的問題。當我試圖測試php和apache是​​否一起工作時,所有的php文件都在下載。事實證明,他們沒有在一起工作。

我不得不卸載php,我會推薦相同的操作過程,然後重新安裝php,只需在php.net上使用zip文件下載,而不是使用MAMP進行安裝。我認爲我的問題是我使用了php安裝程序。我不推薦使用它。

這個網站幫了我很多忙,我遇到了apache的一個問題,沒有啓動,雖然這不是你的問題,但這個網站解決了apache不啓動和php文件下載問題,即使你在mac它可以幫助你,以及http://forums.phpfreaks.com/topic/185771-problem-starting-apache-2214-after-installing-php-5212

希望一切正常!祝你好運!

0
在我的情況

在我的根的參與htacces文件刪除或註釋掉「的AddHandler php56-CGI .PHP」解決它

最佳

相關問題