Web

cPanel PHP Version: How to Change It (MultiPHP and PHP Selector)

Talha Aslan 21 min read 2 views

How do you change the cPanel PHP version?

You change the cPanel PHP version in MultiPHP Manager, which sits under the Software section of the panel. Tick the domain, pick a release from the "PHP Version" dropdown and click Apply. If your host runs CloudLinux, you can do the same job in PHP Selector. Back up the site before you start.

This guide is for site owners and developers who manage their own cPanel account. We cover the difference between the two tools, per domain version selection, extensions and php.ini limits. Then we walk through a pre upgrade checklist, a safe test method and a rollback plan.

We are a digital marketing and web team, not a hosting company. So everything here rests on the cPanel, CloudLinux and php.net documentation. Your panel may look different depending on your host and its version. If a label on your screen does not match ours, follow your host's help pages.

The PHP version decides both security and compatibility. An old release gets no security patches, while a very new one can break old plugins. Therefore the right approach is to choose the version on purpose and to test it first.

How do you change the PHP version in MultiPHP Manager step by step?

MultiPHP Manager is the version screen that ships with cPanel. According to the cPanel documentation, it lets you set the PHP version and the PHP FPM options for the virtual hosts in your account. The steps are short, but keep them in order.

  1. First, take a full backup of the site and check that the backup file is usable.
  2. Then open MultiPHP Manager from the Software section of cPanel.
  3. Next, tick the box next to the domain you want to change.
  4. Also check the current version shown in the same row.
  5. Choose the new release from the "PHP Version" dropdown on the right.
  6. Finally, click Apply and wait for the confirmation message.
  7. Then open the site and its admin area in a browser and look for errors.

The dropdown only lists versions that are installed on the server. If the release you want is missing, then your host has not installed it yet. In that case, open a support ticket. Do not try to change server settings yourself, because that is the host's job.

What is the difference between MultiPHP Manager and PHP Selector?

Both tools do a similar job, but they work at different layers. MultiPHP Manager belongs to cPanel and EasyApache. PHP Selector is a component of the CloudLinux operating system. The CloudLinux documentation says PHP Selector needs CageFS and the Alt PHP packages to be installed.

FeatureMultiPHP ManagerPHP Selector (CloudLinux)
Who makes itcPanelCloudLinux
RequirementA cPanel accountCloudLinux, CageFS and Alt PHP packages
Where you find itMultiPHP Manager under SoftwareThe Select PHP Version icon
Version choicePer domain, "PHP Version" dropdownVersion and extensions for your account
ExtensionsYour host manages themYou switch them on and off in the user interface
Who installs itServer administratorServer administrator

The icons in your panel tell you which tool is active. If you see a Select PHP Version icon, your host probably runs CloudLinux. If it is missing, the administrator may have hidden it for your plan. The CloudLinux documentation explains that WHM's Feature Manager switches that icon on and off.

The two tools can also live side by side. According to the CloudLinux documentation, the system default in MultiPHP Manager should be an ea-php version while you use PHP Selector. If you see both in your panel, do not change the same domain in both. So pick one as the source of truth.

How do you pick a version and extensions in PHP Selector?

When you open PHP Selector, you usually see the version list and the extension checkboxes on one screen. The screen name may be "Select PHP Version" or something similar, depending on your panel. First choose the version, then tick the extensions you need and save the change.

The CloudLinux documentation states that the extensions you pick load only for the Alt PHP version you selected. Meanwhile the other versions use the default extension set. For this reason, check the extension list again whenever you switch versions. Otherwise a feature that used to work can disappear without a warning.

The same page recommends changing custom php.ini values through the "Edit PHP settings" feature of PHP Selector. In other words, use the screen instead of poking at files by hand. According to the documentation, settings that redefine the php.ini path can break PHP Selector.

We will not repeat the CageFS background here. If you want to know how accounts stay isolated from each other, read our post on CageFS and account isolation.

Why does a per domain cPanel PHP version help?

A per domain choice lets you run different sites in one account on different PHP versions. In MultiPHP Manager every domain is its own row. So you can try a new release on a subdomain first and move the main site only after the result looks good.

For example, if your main site is stuck on an old release because of an old theme, you can still launch a new project on another domain with a current release. So the two sites do not affect each other. Agencies and developers who run several projects in one account get the most out of this.

The cPanel documentation points out two details. First, the "inherit" option means the domain uses the system default. Second, you cannot set PHP FPM while the domain is on inherit. To use PHP FPM, pick a specific version explicitly.

The documentation also says the interface shows only non parked domains. If a parked domain is missing from the list, its version follows the target domain. So do not panic when a domain does not appear. Check that distinction first.

How do you enable PHP extensions and which ones do you need?

A PHP extension is a module that gives PHP an extra capability. For example, image processing, database connections and encryption mostly run through extensions. When one is missing, the site often shows a blank page or a "Class not found" style error.

With CloudLinux PHP Selector you switch extensions on and off with the checkboxes on screen. If there is no Select PHP Version icon, your host manages the extension list. In that case, request the missing extension through a support ticket and attach the error message.

Your software's own requirements page tells you which extensions it needs. If you have command line access, these commands help you check the setup.

php -v
php -m
php --ini

The first command prints the command line version, the second lists loaded modules and the third shows the php.ini files that PHP reads. However, the command line version can differ from the version your site uses on the web. So confirm the web version separately. In WordPress, the Info tab of the Site Health page under Tools is handy for this.

If you are unsure what your site runs on, try our website technology checker. The result gives you a hint, but you still need the software's own documentation for exact requirements.

How do you edit php.ini settings in cPanel?

You edit php.ini settings in cPanel with the MultiPHP INI Editor. The screen has two modes. First, Basic Mode shows common settings as simple fields. Second, Editor Mode lets you edit the php.ini file as plain text and is meant for advanced users.

According to the cPanel documentation, you first choose a location. The location can be a single domain or the "Home Directory". If you choose Home Directory, the change affects the whole account. Therefore it is safer to set a value for one site at the domain level.

The documentation says the editor writes changes to php.ini, .user.ini and .htaccess, but only where that file supports the directive. So the three files may not match. A typo in Editor Mode can also break your PHP scripts.

If you can find the setting in Basic Mode, never switch to Editor Mode. Also, using a field removes the risk of typos. Besides, the documentation notes that after a major PHP upgrade you may need to save your INI settings again.

What do memory_limit, upload_max_filesize and max_execution_time do?

These three settings control the limits your site hits most often. According to the php.net core settings page, memory_limit sets the most memory a script may use, upload_max_filesize sets the largest uploaded file and max_execution_time sets how long a script may run. You can see the 30 second default of the last one on the php.net runtime configuration page.

Settingphp.net defaultWhen to raise it
memory_limit128MLarge imports, image processing or heavy plugin errors
upload_max_filesize2MYou get a size error when uploading media, themes or backups
post_max_size8MWhenever you raise the upload limit, together with it
max_execution_time30 secondsLong imports and updates
max_input_vars1000Forms with many fields and menu screens

These are the defaults that php.net documents. However, your host may apply different values and may set a ceiling. The value you see in the panel is the one that counts for you.

Also, do not raise values more than you need. A memory_limit of -1 means unlimited, but one faulty script can then eat the server memory. On shared hosting with resource caps, a high value does not fix the problem. Instead, it makes your account hit its limit sooner.

Which values must change together when you raise the upload limit?

When you raise the upload limit, upload_max_filesize and post_max_size must change together. The php.net documentation says post_max_size has to be larger than upload_max_filesize. Moreover, if the posted data exceeds post_max_size, both $_POST and $_FILES arrive empty.

Example calculation: if you want to accept files up to 64 MB, set upload_max_filesize to 64M and post_max_size to a slightly higher value such as 72M. The gap leaves room for the other form fields. php.net also says memory_limit should be larger than post_max_size.

In the Basic Mode screen of the MultiPHP INI Editor these settings appear as fields. If you prefer editing a file, you can place the example below in the .user.ini file of the domain folder. The values are only an example, so adjust them to your needs.

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 72M
max_execution_time = 120
max_input_vars = 3000

After you save the setting, always test the effect. Try a small upload first, then a file close to the limit. If the value does not change, your host may enforce a ceiling. In that case, a support ticket is the only way forward.

What checklist should you run before changing the cPanel PHP version?

Before an upgrade, the backup, the compatibility check and the rollback plan must be ready. With those three in place, a version change takes a few minutes. If one is missing, even a small error can take your live site down for hours.

  • Back up the files and the database, and keep a copy outside your hosting account.
  • Note the current PHP version and settings, because you will need them for a rollback.
  • Confirm in the developers' documentation that your CMS, theme and plugins support the new version.
  • Find plugins that no longer get updates, because you may have to remove or replace them.
  • Choose a low traffic hour and fix the change window in advance.
  • Finally, prepare a copy of the site for testing.

For backup basics, see our website backup strategy guide. So do not trust a backup until you have restored it once. After all, a backup that you cannot restore is not a backup.

The php.net migration guides describe, release by release, which features were removed. However, if you had custom code written, read them together with your developer. With a ready made CMS, the compatibility notes from plugin authors are usually enough.

How do you test an upgrade without touching the live site?

The safest method is to copy the site to a test domain and try the new PHP version only there. For example, a per domain version choice is made for this job. The live site keeps running on the old version while the test copy runs on the new one.

  1. First, create a subdomain in cPanel and copy the live site files into it.
  2. Then create a separate copy of the database and point the test site's configuration to it.
  3. Also make sure search engines cannot index the test site.
  4. Upgrade the PHP version of the test domain only, in MultiPHP Manager.
  5. Try the home page, the admin area, a form submission and the checkout flow.
  6. Finally, read the error log and write down every warning.

If the test site uses the live database, your experiments can change real data. Therefore separate the database without fail. On an online store, also make sure order emails from the test site never reach real customers.

The more detailed your test is, the fewer surprises you get on the live site. So list the pages your visitors use most and open each one. Besides, the error log helps you tell new warnings from old ones.

How do you read the error log when a version change breaks something?

If you see a blank page, a 500 error or a missing feature after the change, the error log is the first place to look. The last lines often name the problem directly. For example, you may see the name of a removed function or a missing extension.

You reach the error log from the error screen of your hosting panel or from the log file in the domain folder. Confirm the location in your host's help pages, because it depends on the setup. Then reproduce the problem and read only the lines from that moment.

Also, an error message usually contains a file name and a line number. If the file belongs to a plugin, disabling that plugin for now is the first step. Otherwise, if it belongs to a core library, you need a software update.

We do not cover individual error codes here. However, if a 403 appears after a version change, firewall rules may be active. Our post on ModSecurity and 403 errors explains that case.

How do you roll back to the previous cPanel PHP version?

To roll back, select the same domain in MultiPHP Manager or PHP Selector and set the earlier version again. The process is the reverse of the upgrade and usually takes seconds. This is why you should write down the previous version.

After you return to the previous cPanel PHP version, open the site again and confirm that it works. If you changed data while the new version was running, check it. For example, a plugin you updated in the admin area may not work with the old version. In such cases you may have to restore from the backup.

The cPanel documentation also says you may need to save INI settings again after a major version upgrade. So review your settings after a rollback too. Settings can be stored per version, which is why you should keep a note of your php.ini values.

However, a rollback is only a temporary fix. Still, staying on an old version keeps the security risk alive. Therefore find the cause, update the plugin and plan the upgrade again.

Why is an old cPanel PHP version risky and how does the support calendar work?

Old PHP versions are risky because they receive no security patches. According to the php.net support policy, each release branch gets two years of active support and then two years of security support only. After four years in total, the branch reaches end of life and no fixes are released.

On a version with a known hole, every attack attempt that reaches your site meets no protection. Most OWASP issues sit at the code level, but outdated infrastructure adds risk too. For more, see our OWASP Top 10 guide.

Release branchActive support endsSecurity support ends
8.231 December 202431 December 2026
8.331 December 202531 December 2027
8.431 December 202631 December 2028
8.531 December 202731 December 2029

The table comes from the php.net "Supported Versions" page as we read it in October 2026. The page changes, so check the current table before you decide. Branches that are not listed, such as 8.1 and older, have reached end of life. In short, if you run one of them, it is time to plan an upgrade.

If you do not know your version number, find it first. Then look up the support end date of that branch. If less than a year remains, plan the upgrade now, because plugin conflicts do not fit into the last weeks.

Does a newer PHP version make the site faster?

We cannot promise a speed gain, because the result depends on your application. However, newer releases usually bring maintenance and security benefits. Any speed difference depends on your code, your plugins and your database. So measure first, then compare.

Cache settings also matter for speed. OPcache keeps the compiled form of PHP code in memory and is one of the most important server side settings. We explained it in our OPcache guide, so we do not repeat it here.

To diagnose general slowness, read our post on server side causes of a slow website. The link between speed and rankings is covered in how site speed affects SEO.

To see the effect of an upgrade, measure the same page several times under the same conditions before and after. Because one run can mislead, do not trust a single run. Watch the trend instead, and you will separate the real effect of the version from noise.

How do you choose a PHP version for Laravel and other frameworks?

Every release of a framework such as Laravel asks for certain PHP versions. The composer.json file in the project folder lists the accepted range in its "require" section. So check that range before you change the version. If you step outside it, dependencies will not install or the project will not run.

We cover installing a Laravel project on cPanel separately. For the setup steps, see our Laravel on cPanel guide. Here we only deal with the version side.

A per domain version choice helps here too. Instead, put the Laravel project on its own subdomain and choose the version it needs. Meanwhile your main WordPress site can stay on another version. So the two projects do not hold each other back.

Tools you run from the command line may use a different PHP than the web. When you run Composer, check the output of php -v. Otherwise a version mismatch causes unexpected warnings during installation.

What is PHP FPM and how does it relate to version choice?

PHP FPM runs PHP requests through a pool of workers. The cPanel documentation describes it as an alternative PHP module that helps a site handle more requests than it normally could. Therefore it often comes up on busy sites.

In MultiPHP Manager, PHP FPM is a separate setting on the domain row. However, the documentation says you cannot enable it while the version is set to "inherit". In other words, you first pick a specific version, and then you switch FPM on. It also notes that if the primary domain name changes, FPM turns off and an administrator has to enable it again.

The FPM pool settings, such as the number of workers, stay at server level. Because of that, on shared hosting they usually belong to the provider. So if you see slowness, ask the provider for help with your measurements instead of tweaking the setting yourself.

Does a version change affect cron jobs and the command line?

Yes, it can. For example, the PHP your website uses and the PHP your command line uses do not have to be the same. For this reason, your cron jobs may run on a different version than you expect. Command line tools such as Composer are especially affected.

When you define a scheduled task, check which PHP interpreter the command calls. For example, if the job processes an email queue or a backup script, make sure it works with the new version too. After a version change, run the job once by hand and read its output.

Otherwise the site looks normal while background jobs fail silently. So such errors can go unnoticed for days. Moreover, in e-commerce they can lead to costly results, such as orders in a queue that never get processed.

What are the most common mistakes when changing the PHP version?

The most common mistakes come from poor preparation. Usually it is not a technical difficulty, but instead a skipped step that causes trouble. The list below summarizes the points to add to your checklist.

  • Changing the version without a backup and without knowing how to roll back.
  • Jumping from a very old version to the newest one and missing incompatible plugins.
  • Changing the same domain in both MultiPHP Manager and PHP Selector.
  • Forgetting to recheck extensions, because the selections are separate for each version.
  • Changing the live site at a busy hour without testing.
  • Raising limit values too far and exhausting server resources.

You avoid all of these mistakes by following the order at the start of this guide. In short, that means backup, test, change, monitor and a rollback plan, in that sequence. The step that people skip to save time is often the most expensive one.

When should you not do it yourself and leave it to your hosting provider?

If the screen is visible and the instructions are clear, you can change the version yourself. However, in some cases it is wiser to leave the job to your hosting provider. A wrong step can affect several sites or the whole server.

  • Leave it to the provider if you need to change the server wide PHP default or the PHP handler.
  • Also, do not try to install a version that is missing from the list.
  • Postpone the upgrade if you have no backup or have not tested the backup.
  • Do not change the version of a live online store on a heavy campaign day.
  • Talk to your developer first if you run custom software.

When you open a support ticket, include the domain, the current and target versions, the error message and the steps you tried. So the provider solves the problem faster. If you are reviewing your hosting plan, our guide to choosing web hosting can help.

If moving your custom software to a new version needs code changes, that is a development job. For such projects you can talk to our custom software development team. If the site itself needs a refresh, our web design service is another option.

What should you monitor after the upgrade?

Watch the site closely on the first day after the upgrade. Open the error log a few times, retry the form and payment flows, and confirm that scheduled tasks run. Some errors only appear when a specific action fires.

Then do a short check on the search side as well. Also look in Search Console for a rise in crawl errors. If the server returns errors, bots get them too. So make sure your pages respond normally.

Also do not postpone plugin and theme updates. Updates that support the new version usually arrive within a few weeks. Keeping the version current is not a one off job but a regular habit.

Summary: in what order should you work?

First, the order is simple. Before you change the cPanel PHP version, take a backup and note the current version. Then confirm compatibility, try the new version on a test domain and read the error log. If everything is fine, upgrade the live site, monitor it and keep the rollback plan at hand.

The icons in your panel tell you whether you use MultiPHP Manager or PHP Selector. So work with whichever is active and never change the same domain in both. For limits, think of upload_max_filesize and post_max_size together.

The price of staying on an old version is a site without security patches. Therefore check the php.net support calendar a few times a year. That way an upgrade never catches you on a surprise date.

Frequently Asked Questions

Can I change the PHP version in cPanel myself?
Yes, if your plan allows it. In cPanel, open MultiPHP Manager under Software, choose your domain, pick a release from the PHP Version list and click Apply. If the screen is missing from the menu, your host has hidden it. Always take a backup first and write down the previous version number.
Are MultiPHP Manager and PHP Selector the same thing?
No, they are different tools. MultiPHP Manager is part of cPanel. PHP Selector belongs to CloudLinux and needs CageFS and Alt PHP packages to be installed. If you see a Select PHP Version icon in your panel, CloudLinux may be in use. Never change the same domain in both tools; use the one that is active.
What can happen to my site when I change the PHP version?
Old plugins and themes may throw errors on a newer version. Removed functions can cause a blank page or a 500 error. Some plugins also stop working because a PHP extension is missing. To reduce the risk, test on a separate domain first, read the error log and go back to the previous version if needed.
Why does my upload still fail after I raised upload_max_filesize?
The most likely cause is a post_max_size value that is too low. According to php.net, post_max_size must be larger than upload_max_filesize. Your host may also enforce a ceiling, or you may have changed the setting for the wrong domain. Check the value in the panel, test with a small file and open a ticket if it still fails.
Which PHP version should I use?
Choose the newest stable release that your software supports. According to php.net, each release gets four years of support and receives no security patches after that. Check the current support table on php.net before you decide. Do not take a version number from this article, because the table changes over time. Also read the compatibility notes of your plugins.
How can I change the PHP version safely without a test environment?
Take a full backup first and confirm that you can restore it. Then change the version at a low traffic hour and test the site, the admin area and the forms right away. If you see errors, go back to the previous version. If you feel unsure, ask your hosting provider for help, or create a subdomain and try it there first.
  • cPanel
  • PHP version
  • MultiPHP Manager
  • PHP Selector
  • php.ini
  • web hosting
  • CloudLinux
Share:
Talha Aslan

Google Partner digital marketing expert. Hands-on with SEO, Google Ads, web design and e-commerce projects since 2012; every post here comes from that experience.

Next project

Let's talk about your project.

Your brief goes straight to Talha Aslan and team: strategy led by Talha, delivery by an experienced team. The first consultation is free; we listen and come back with a clear roadmap.