jeeva
jeeva

Reputation: 1603

how to change php version in htaccess in server

I'm using php 5.3 on my local machine. On our webserver we have php 4.8. Our server is a shared server. So I want to change the php version on our server via .htaccess file. Is it possible to do it? If yes how to do it?

Upvotes: 68

Views: 347127

Answers (12)

JDev518
JDev518

Reputation: 778

Just my two cents here as this question is old, but I found myself needing an answer for a legacy site that supports PHP 5.6 at best.

Site is on Media Temple (which is now GoDaddy). I set the PHP version to 5.6 in cPanel but it wasn't taking on one of my sites. None of the above answers worked for me, but if you are running cPanel, adding this to the a site's individual .htaccess file seems to do the trick:

<IfModule mime_module>
AddHandler application/x-httpd-ea-php56___lsphp .php .php5 .phtml
</IfModule>

If you're on cPanel now, chances are you are using Easy Apache v3 or 4, hence the "ea" part of the handler. This part I'm not sure about:

___lsphp

Any other combination of handlers from the above answers would just force a download on any page.

BTW, MultiPHP Manager isn't an option on my cPanel. I would guess this would add it for you per directory / site.

Here's where I pulled this from: https://www.gonlinesites.com/web-hosting-tips/how-to-add-handlers-to-change-php-version-in-cpanel-setup-php-version/

Upvotes: 1

Andrew E
Andrew E

Reputation: 184

For CPanel users (as of May 2022, selecting PHP v8.1), use Software -> "MultiPHP Manager" modifies PHP versions per subdomain. it adds this to the subdomain's directory's .htaccess file:

# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php81” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php81 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

If you don't see the PHP version you want in the select list, then install it via WHM -> Software -> "EasyApache".

Upvotes: 3

Cleber Reizen
Cleber Reizen

Reputation: 475

This worked for me

PHP 7.2

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

PHP 7.3

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

Upvotes: 6

Rana Hyder
Rana Hyder

Reputation: 509

for php8 code generated by Cpanel:

<IfModule mime_module>
  AddHandler application/x-httpd-ea-php80 .php .php8 .phtml
</IfModule>

required PHP version should be installed

Upvotes: 3

Sifiso Masilela
Sifiso Masilela

Reputation: 21

Go to File Manager on your CPanel >>> Public html >>> find the .htaccess file >>> right click on the on it >>>> click edit.see picture

Type the number of the version you want to change to. i.e - 73, 70 or 71.

Hope this helps. After that, save changes.

Upvotes: 2

PatricNox
PatricNox

Reputation: 3918

An addition to the current marked answer:

Place the addhandler inside the following scope, like so:

<IfModule mod_rewrite.c>

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

   ....

</IfModule>

Upvotes: 3

mario
mario

Reputation: 145482

Note that all above answers are correct for Apache+ setups. They're less likely to work with more current PHP-FPM setups. Those can typically only be defined in VirtualHost section, not .htaccess.

Again, this highly depends on how your hoster has configured PHP. Each domain/user will typically have it's own running PHP FPM instance. And subsequently a generic …/x-httpd-php52 type will not be recognized.

See ServerFault: Alias a FastCGI proxy protocol handler via Action/ScriptAlias/etc for some overview.

For Apache 2.4.10+/ configs you might be able to use something like:

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

Or SetHandler with name mapping from your .htaccess. But again, consulting your hoster on the concrete FPM socket is unavoidable. There's no generic answer to this on modern PHP-FPM setups.

Upvotes: 12

APeaze
APeaze

Reputation: 1556

To switch to PHP 4.4:

AddHandler application/x-httpd-php4 .php

To switch to PHP 5.0:

AddHandler application/x-httpd-php5 .php

To switch to PHP 5.1:

AddHandler application/x-httpd-php51 .php

To switch to PHP 5.2:

AddHandler application/x-httpd-php52 .php

To switch to PHP 5.3:

AddHandler application/x-httpd-php53 .php

To switch to PHP 5.4:

AddHandler application/x-httpd-php54 .php

To switch to PHP 5.5:

AddHandler application/x-httpd-php55 .php

To switch to PHP 5.6:

AddHandler application/x-httpd-php56 .php

To switch to PHP 7:

AddHandler application/x-httpd-php7 .php

To switch to PHP 7.1:

AddHandler application/x-httpd-php71 .php

Upvotes: 154

Victor Azevedo
Victor Azevedo

Reputation: 527

To switch to PHP 4.4:

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

To switch to PHP 5.0:

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

To switch to PHP 5.1:

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

To switch to PHP 5.2:

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

To switch to PHP 5.3:

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

To switch to PHP 5.4:

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

To switch to PHP 5.5:

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

To switch to the secure PHP 5.2 with Suhosin patch:

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

Upvotes: 11

Eva
Eva

Reputation: 5077

just FYI in GoDaddy it's this:

AddHandler x-httpd-php5-3 .php

Upvotes: 5

s_s_
s_s_

Reputation: 457

You can't change PHP version by .htaccess.

you need to get your server updated, for PHP 5.3 or you can find another host, which serves PHP 5.3 on shared hosting.

Upvotes: -34

Eugene
Eugene

Reputation: 3375

Try this to switch to php4:

AddHandler application/x-httpd-php4 .php

Upd. Looks like I didn't understand your question correctly. This will not help if you have only php 4 on your server.

Upvotes: 5

Related Questions