Using multiple PHP versions on one account

Using multiple PHP versions on one account

When using different software on one account, you may need to use an older version of PHP while running a newer version of PHP on a different domain. For example: You can have PHP 5.4 for the site in public_html and then use PHP 5.2 in a subdirectory. You can use any combination of older PHP versions in any directory on the account.

Below is an example of having multiple directory locations using different versions on PHP. The following example shows the "public_html" is using PHP 5.4, the "public_html/othersite" using PHP 5.2 and so forth.

public_html 5.4
public_html/othersite: 5.2
public_html/someothersite: 5.3
public_html/someothersite/yetanother: 5.4

Using the Default PHP version

To use the system default PHP, use the following in .htaccess:

# Use system PHP5 as default
AddHandler application/x-httpd-php5 .php

This will make the specific directory use the System default PHP version.

Changing the PHP version per directory

Depending on what version of PHP you want to use, you will need to placed the following code in the .htaccess of the directory you want to change the PHP version for. Below is the code you need for each PHP version.

PHP 5.2

# Use PHP 5.2 as default
AddHandler application/x-httpd-php52 .php

PHP 5.3

# Use PHP 5.3 as default
AddHandler application/x-httpd-php53 .php

PHP 5.4

# Use PHP 5.4 as default
AddHandler application/x-httpd-php54 .php

PHP 5.5

# Use PHP 5.5 as default
AddHandler application/x-httpd-php55 .php

Once you add the appropriate version code to your .htaccess your site in that directory will use that version of PHP.

Important! If you have PHP errors after adding the .PHP version code to the directory .htaccess, you may need the php.ini for that particular version uploaded to the directory and the recursive path added in order for the correct version of the php.ini to load. If there is no php.ini specific to the version of PHP you are using in the directory where the version code is added, the server will use the default php.ini. This could cause a newer php.ini version to used instead of the older php.ini version, which can cause an issue in some cases.

Using a PHP specific version of php.ini.

The following code will direct the server to the particular php.ini file. In this case the path goes to the public_html directory. This is called the recursive path.

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/USER/public_html
</IfModule>

To point your domain to a php.ini in a subfolder you would do the following:

<IfModule mod_suphp.c>
suPHP_ConfigPath /home/USER/public_html/foldername
</IfModule>

This allows a php.ini to be stored in the sub directory particularly for your PHP version in that directory. Note! If you need an older version of the php.ini file restored to a specific directory, you can specify the path to whatever version you are looking for like the following.

suPHP_ConfigPath /usr/local/lib
suPHP_ConfigPath /opt/php52/lib
suPHP_ConfigPath /opt/php54/lib

Otherwise, you can contact tech support to have them restore the specific php.ini version to the folder you need it in.

Checking your changes

You can check to see if any changes you made took place by placing a phpinfo page in the folder area you are working on. You can then view the settings to ensure they are set correctly.

 

 
  • 206 Users Found This Useful
Was this answer helpful?

Related Articles

How Do I Clear My Web Browser's Cache?

Each time you access a file through your web browser, it is cached (stored). In this way, certain...

How to Upload a File using the File Manager

You can upload your files directly through cPanel using the File Manager. File Manager is a web...

How to Find the URL of a File

If you want to share a web file with friends or the public, you first need to determine the...

Video tutorials not playing

In some cases our Video Tutorials are not playing or loading after displaying the SiveHost...

My Site is Slow

You have attempted to load your site and it appears to be running slow. Now what? We understand...