如何在服务器的htaccess中更改php版本

Posted

技术标签:

【中文标题】如何在服务器的htaccess中更改php版本【英文标题】:how to change php version in htaccess in server 【发布时间】:2012-09-15 16:29:03 【问题描述】:

我在本地机器上使用php 5.3。在我们的网络服务器上,我们有php 4.8。我们的服务器是共享服务器。所以我想通过.htaccess文件更改我们服务器上的php版本。有可能做到吗?如果是怎么办?

【问题讨论】:

PHP 4.8?还在商业服务器上运行? 【参考方案1】:

切换到 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

【讨论】:

这是正确答案。我不知道标记为正确答案的那个在说什么。只需在文件系统上添加一个 .htaccess 文件并将这些 AddHandler 语句之一放入其中。这至少在 1and1 共​​享主机上运行良好。 当我这样做时,我的 php 文件都没有被正确处理。在添加这些语句之前,您需要在 .htaccess 文件中添加什么内容吗? AddHandler application/x-httpd-php7 .php 没有为我工作,但AddHandler application/x-httpd-php70 .php 成功了! 谢谢我经常访问这个页面:) 在 htacess 文件中编辑后,我收到 403 Forbidden Error。请指导我们解决问题。【参考方案2】:

切换到 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

【讨论】:

【参考方案3】:

请注意,以上所有答案对于 Apache+mod-php 设置都是正确的。他们不太可能使用最新的 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+/mod-proxy-fcgi 配置,您可能可以使用类似:

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

SetHandler,名称映射来自您的.htaccess。但同样,在具体的 FPM 插座上咨询您的主机是不可避免的。在现代 PHP-FPM 设置中没有通用的答案。

【讨论】:

【参考方案4】:

试试这个切换到php4:

AddHandler application/x-httpd-php4 .php

更新。看起来我没有正确理解你的问题。如果您的服务器上只有 php 4,这将无济于事。

【讨论】:

【参考方案5】:

在 GoDaddy 中仅供参考:

AddHandler x-httpd-php5-3 .php

【讨论】:

【参考方案6】:

这对我有用

PHP 7.2

AddHandler application/x-httpd-ea-php72 .php .php7 .phtml

PHP 7.3

AddHandler application/x-httpd-ea-php73 .php

【讨论】:

【参考方案7】:

对当前标记答案的补充:

将 addhandler 放在以下范围内,如下所示:

<IfModule mod_rewrite.c>

   AddHandler application/x-httpd-php71 .php
   RewriteEngine On

   ....

</IfModule>

【讨论】:

【参考方案8】:

转到CPanel上的文件管理器>>>公共html>>>找到.htaccess文件>>>右键单击它>>>>单击编辑。see picture

键入要更改为的版本号。即 - 73、70 或 71。

希望这会有所帮助。之后,保存更改。

【讨论】:

【参考方案9】:

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

您需要为 PHP 5.3 更新您的服务器,或者您可以找到另一个在共享主机上提供 PHP 5.3 的主机。

【讨论】:

好的,有没有其他方法可以做到(无需升级或更改主机服务器)?? 您的应用程序是否使用了 PHP 5.3 特有的任何功能?如果没有,我想在可用主机上运行您的应用程序不会成为问题。如果它给出错误,那么你必须改变你的主机。 是的,某些功能仅适用于 php 5 或更高版本 没有出路,伙计。你必须做出改变。 @Sankalp Shekhar 好的,非常感谢。我会联系我的主机提供商。

以上是关于如何在服务器的htaccess中更改php版本的主要内容,如果未能解决你的问题,请参考以下文章

如何从 htaccess 为多个 PHP 版本配置 Apache

如何在不更改浏览器中的 URL 的情况下使用 htaccess 进行重定向

服务器更改后发生.htaccess中的奇怪问题

如何在 Apache 服务器(和其他服务器)上检测 PHP 中对 .htaccess 的支持

如何通过 htaccess 显示 PHP 错误 [重复]

在 xampp 的 phpmyadmin 中添加 htaccess 文件