2012-09-24 120 views
32

我在本地機器上使用php 5.3。在我們的網絡服務器上,我們有php 4.8。我們的服務器是共享服務器。所以我想通過.htaccess文件更改我們服務器上的php版本。可以做到嗎?如果是的話該怎麼辦?如何在服務器的htaccess中更改php版本

+5

Php 4.8?仍在商業服務器上運行? – itachi

回答

84

要切換到PHP 4.4:

AddHandler application/x-httpd-php4 .php 

要切換到PHP 5.0:

AddHandler application/x-httpd-php5 .php 

要切換到PHP 5.1:

AddHandler application/x-httpd-php51 .php 

要切換到PHP 5.2:

AddHandler application/x-httpd-php52 .php 

要切換到PHP 5.3:

AddHandler application/x-httpd-php53 .php 

要切換到PHP 5.4:

AddHandler application/x-httpd-php54 .php 

要切換到PHP 5.5:

AddHandler application/x-httpd-php55 .php 

要切換到PHP 5.6:

AddHandler application/x-httpd-php56 .php 

要切換到PHP 7:

AddHandler application/x-httpd-php7 .php 

要切換到PHP 7.1:僅供參考

AddHandler application/x-httpd-php71 .php 
+0

這是正確的答案。我不知道被標記爲正確答案的人在談論什麼。只需在文件系統中添加一個.htaccess文件,並將其中的一個AddHandler語句放入其中。至少在1and1共享主機上工作得很好。 –

+8

當我這樣做沒有我的PHP文件處理正確。在添加這些語句之前,是否需要將某些內容添加到.htaccess文件中? –

+3

'AddHandler應用程序/ x-httpd-php7 .php'確實不適用於我,但是'AddHandler application/x-httpd-php70 .php'完成了這項工作! –

-10

您不能通過.htaccess更改PHP版本。

您需要更新您的服務器,對於PHP 5.3或者您可以找到另一個主機,它在共享主機上爲PHP 5.3提供服務​​。

+0

好吧,是否有任何改變方式來做到這一點(無需升級或更改主機服務器)? – jeeva

+0

您的應用程序是否使用任何功能,這是非常特定於PHP 5.3? 如果不是,在可用主機上運行你的應用程序,不會是一個問題,我猜。 如果它給出錯誤,那麼你必須讓你的主機改變。 –

+0

是的,一些功能只與php 5或更大的工作 – jeeva

3

試試這個切換到PHP4:

AddHandler application/x-httpd-php4 .php 

UPD。看起來我沒有正確理解你的問題。如果您的服務器上只有只有 php 4,這將無濟於事。

3

在GoDaddy的那就是:

AddHandler的X的httpd - php5-3 .PHP

+0

它現在不在godaddy中工作 – arvindwill

6

要切換到PHP 4.4:

AddHandler application/x-httpd-php4 .php .php4 .php3

要切換到PHP 5.0:

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

要切換到PHP 5。1:

AddHandler application/x-httpd-php51 .php .php5 .php4 .php3

要切換到PHP 5.2:

AddHandler application/x-httpd-php52 .php .php5 .php4 .php3

要切換到PHP 5.3:

AddHandler application/x-httpd-php53 .php .php5 .php4 .php3

要切換到PHP 5.4:

AddHandler application/x-httpd-php54 .php .php5 .php4 .php3

要切換到PHP 5.5:

AddHandler application/x-httpd-php55 .php .php5 .php4 .php3

要使用了Suhosin補丁切換到安全的PHP 5.2:

AddHandler application/x-httpd-php52s .php .php5 .php4 .php3

2

注意,上述所有的答案都爲Apache正確+ 設置。他們不太可能使用更多當前的PHP-FPM設置。這些通常只能在VirtualHost部分中定義,而不能在.htaccess中定義。

同樣,這很大程度上取決於您的主機如何配置PHP。每個域/用戶通常都會擁有自己正在運行的PHP FPM實例。隨後一般的…/x-httpd-php52類型將不被識別。

查看ServerFault: Alias a FastCGI proxy protocol handler via Action/ScriptAlias/etc的一些概述。

對於Apache 2.4.10 +/ CONFIGS你可能能夠使用這樣的:

AddHandler "proxy:unix:/var/run/php-fpm-usr123.sock|fcgi://localhost" .php 

或者SetHandler與名稱映射從.htaccess。但是,再次向您的主機商諮詢具體的FPM插座是不可避免的。在現代PHP-FPM設置上沒有通用的答案。