2010-09-03 45 views
1

我想在測試服務器上覆制一個網站。但是,在測試服務器上,.php文件不會被解釋。我發現原因是文檔根目錄中的.htaccess文件。其內容:x-httpd-php5s < - s!在Bluehost

# Use PHP5 Single php.ini as default 
AddHandler application/x-httpd-php5s .php 
RewriteEngine On 
#RewriteRule ^$ index.php [QSA] 
RewriteRule ^(.*)$ /web/$1 

如何配置Apache2/PHP5以支持處理程序application/x-httpd-php5s?有沒有使這個處理程序可用的任何軟件包?

更新:它可能是特定於Bluehost.com的處理程序。我目前正在調查這...

更新2:爲了避免改變.htaccess文件,該文件會引入不一致的地方,我添加了一個處理程序 「應用程序/ X的httpd-php5s」 爲Apache:

AddHandler application/x-httpd-php5s .php 
Action application/x-httpd-php5s /cgi-bin/php5 

但是,該處理程序不會像生產服務器上那樣運行,它會導致PHP解釋程序在文檔根目錄中使用php.ini並將其用於所有子目錄。例如,一個有點醜陋的解決方法是將php.ini與測試服務器上的全局php.ini進行符號鏈接。

+0

如果你不願意修改一個錯誤的.htaccess文件,你會願意編輯你的friggin apache服務器文件嗎?我不這麼認爲,如果你的表現相當糟糕。 – 2010-09-03 18:31:44

+1

刪除我的答案,我誤認爲'application/x-httpd-php5s' for'application/x-httpd-php5-source' \ * facepalm \ * – BoltClock 2010-09-03 21:52:27

回答

8

我一直在使用Bluehost很長一段時間。 你在說什麼只是被加載的php.ini文件。

AddHandler的應用程序/ x-httpd的-php5s .PHP

荷載有託管服務器上所有網站的一個php.ini文件。該php.ini文件通常位於public_html文件夾中。

如果將其更改爲;

AddHandler的應用程序/ x-的httpd-php5的.PHP

則服務器將查找php.ini文件在同一文件夾中的.htaccess文件。

5之後的「s」表示單個。

+0

「s」=單個有意義。謝謝! – feklee 2011-09-27 13:05:33

2

AddHandler應用程序/ x-httpd-php5s是處理程序。

所有你需要做的就是將其更改爲AddHandler application/x-httpd-php5 .php

+0

我不想修改網站的代碼。而且,我還假設你提議的變更會破壞功能。在文檔根目錄中有一個「php.ini」,如果我理解正確,「x-httpd-php5s」會導致該文件被解釋爲子目錄中所有「.php」文件的PHP配置。 – feklee 2010-09-03 16:58:06

+0

「.htaccess」文件以何種方式被竊聽?在修改任何內容之前,我想盡可能地複製原始環境。 – feklee 2010-09-03 19:15:24

+0

準確地複製apache配置,它會起作用。 – 2010-09-03 21:40:09

0

因爲我已經說服我的客戶移動從BlueHost的離開,出於性能的考慮。所以現在這對我們來說不是問題。但是,從我所看到的,我非常肯定x-httpd-php5s這是一個Bluehost特定處理程序。

+0

您將客戶端移動到哪個託管解決方案? – Lowkase 2013-01-30 21:24:45

+0

EC2小實例 – feklee 2013-01-30 21:52:25

相關問題