如何在服务器的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 进行重定向