{"id":143,"date":"2026-09-06T14:42:39","date_gmt":"2026-09-06T09:12:39","guid":{"rendered":"https:\/\/hostcrafter.com\/kb\/change-php-version\/"},"modified":"2026-09-06T17:36:33","modified_gmt":"2026-09-06T12:06:33","slug":"change-php-version","status":"publish","type":"post","link":"https:\/\/hostcrafter.com\/kb\/change-php-version\/","title":{"rendered":"How to Change Your PHP Version, for the Account or One Site"},"content":{"rendered":"<p><strong>PHP is the language WordPress is written in, and the version you run it on decides how fast your site is and whether your plugins work.<\/strong> You can change it for the whole account in one click, or pin a single website to a different version, which is what makes it possible to test an upgrade without dragging the rest of your sites along.<\/p>\n<dl class=\"hc-facts\">\n<div>\n<dt>Takes<\/dt>\n<dd>A few seconds<\/dd>\n<\/div>\n<div>\n<dt>Downtime<\/dt>\n<dd>None<\/dd>\n<\/div>\n<div>\n<dt>Per site<\/dt>\n<dd>Yes, pin any site to its own<\/dd>\n<\/div>\n<div>\n<dt>Where<\/dt>\n<dd>Panel \u2192 PHP<\/dd>\n<\/div>\n<\/dl>\n<nav class=\"hc-toc\">\n<h2>On this page<\/h2>\n<ol>\n<li><a href=\"#which\">Which Version to Be On<\/a><\/li>\n<li><a href=\"#account\">Change It for the Whole Account<\/a><\/li>\n<li><a href=\"#site\">Pin One Website to Its Own Version<\/a><\/li>\n<li><a href=\"#extensions\">Turning Extensions On<\/a><\/li>\n<li><a href=\"#broke\">If Something Breaks<\/a><\/li>\n<li><a href=\"#faq\">Questions<\/a><\/li>\n<\/ol>\n<\/nav>\n<h2 id=\"which\">Which Version to Be On<\/h2>\n<p><strong>The one marked (recommended) in the dropdown.<\/strong> It is the newest release we consider safe for WordPress, and it is where new accounts start.<\/p>\n<p>Newer PHP is faster, usually by a wide margin, and gets security fixes that older releases do not. The only reason to be on an older one is a plugin or theme that has not been updated, and that is a reason to plan an upgrade rather than to settle.<\/p>\n<h2 id=\"account\">Change It for the Whole Account<\/h2>\n<p>Open your hosting account and choose <strong>PHP<\/strong>. Pick a version, press <strong>Apply<\/strong>.<\/p>\n<figure class=\"hc-fig\"><img loading=\"lazy\" src=\"https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73.webp\" alt=\"The PHP screen: the account default version, the extension switches, and each website with the version it runs\" width=\"1956\" height=\"1991\" class=\"wp-image-126\" decoding=\"async\" srcset=\"https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73.webp 1956w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73-295x300.webp 295w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73-1007x1024.webp 1007w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73-768x781.webp 768w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-section-f879b06d73-1510x1536.webp 1510w\" sizes=\"auto, (max-width: 1956px) 100vw, 1956px\" \/><figcaption>The PHP screen: the account default at the top, the extensions under it, and every website with the version it is running.<\/figcaption><\/figure>\n<p>Your sites stay online while it switches. Every website that has not been pinned to its own version moves with this setting.<\/p>\n<h2 id=\"site\">Pin One Website to Its Own Version<\/h2>\n<p>Each website in the list has its own dropdown. Leave it on <strong>Default<\/strong> and the site follows the account; choose a version and the site is pinned to it and stops following.<\/p>\n<p>The panel then shows two groups, the sites on the account default and the sites pinned to their own, so &#8220;what have I changed here&#8221; is one glance rather than a read of every row.<\/p>\n<div class=\"hc-cal tip\"> <b>This is how to test an upgrade safely.<\/b> Better still, do it on a copy: <a href=\"\/kb\/wordpress-staging-site\/\">make a staging site<\/a>, pin the copy to the newer PHP, and click around it. A staging copy is created on the same version as its live site deliberately, so that it starts out identical and the only thing you have changed is the thing you are testing. <\/div>\n<p>One thing worth knowing about the cost: <strong>sites that agree on a version share one PHP process.<\/strong> Leaving everything on the account default costs nothing extra. Pinning a site starts a second process for it, which is a real but small amount of your account&#8217;s memory. Pin what you need to pin; there is no reason to pin every site individually.<\/p>\n<h2 id=\"extensions\">Turning Extensions On<\/h2>\n<p>The core extensions are always on and are not listed: MySQL, GD, cURL, mbstring, XML, Zip, Redis and OPcache. Everything WordPress and the common plugins expect is already there.<\/p>\n<p>Three more are switches, because each one is a decision rather than a default:<\/p>\n<figure class=\"hc-fig\"><img loading=\"lazy\" src=\"https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd.webp\" alt=\"The PHP extension switches for Imagick, SOAP and ionCube Loader\" width=\"1882\" height=\"410\" class=\"wp-image-127\" decoding=\"async\" srcset=\"https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd.webp 1880w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd-300x65.webp 300w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd-1024x223.webp 1024w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd-768x167.webp 768w, https:\/\/hostcrafter.com\/kb\/wp-content\/uploads\/2026\/09\/php-extensions-d9e50248dd-1536x335.webp 1536w\" sizes=\"auto, (max-width: 1882px) 100vw, 1882px\" \/><figcaption>The extension switches. These apply to every website on the account.<\/figcaption><\/figure>\n<div class=\"hc-tw\"><table>\n<tr>\n<td><strong>Imagick<\/strong><\/td>\n<td>Image editing and thumbnails. Most themes expect it, and it produces better-looking resized images than the built-in library.<\/td>\n<\/tr>\n<tr>\n<td><strong>SOAP<\/strong><\/td>\n<td>Older payment and shipping integrations still ask for it.<\/td>\n<\/tr>\n<tr>\n<td><strong>ionCube Loader<\/strong><\/td>\n<td>Runs encoded commercial plugins. Off unless one asks for it by name.<\/td>\n<\/tr>\n<\/table><\/div>\n<p>These apply to <strong>every website on the account<\/strong>, not to one site. One set of configuration files is written per account and every site runs with them.<\/p>\n<div class=\"hc-cal\"> <b>Some functions are off until you ask.<\/b> <code>exec<\/code>, <code>shell_exec<\/code>, <code>SOAP<\/code> and <code>parse_ini_file<\/code> among them. They are not off to be awkward: each one widens what code running on your site is allowed to do, and on a shared server that is a decision rather than a default. If a plugin you trust needs one, open a ticket naming the plugin and the function and we will turn it on for your account. <\/div>\n<h2 id=\"broke\">If Something Breaks After a Switch<\/h2>\n<p>Switch back. It takes the same few seconds, and the version is the only thing that changed.<\/p>\n<p>Then find out what objected before you try again. A plugin that fails on newer PHP normally says so in the site&#8217;s error log, which is under <strong>Logs<\/strong> in the panel, usually as a fatal error naming a file inside one specific plugin. Update that plugin, or replace it, and try the switch again.<\/p>\n<h2 id=\"faq\">Questions<\/h2>\n<div class=\"hc-faq\">\n<h3>Will changing PHP take my site offline?<\/h3>\n<p>No. Sites keep serving while the switch happens.<\/p>\n<h3>Which PHP version does WordPress need?<\/h3>\n<p>WordPress runs on anything we offer. The question is really your plugins and your theme, and the answer for well-maintained ones is that they run on the newest.<\/p>\n<h3>Can two of my websites run different versions?<\/h3>\n<p>Yes. Pin the one that needs to differ; the rest follow the account default.<\/p>\n<h3>Why is my staging copy on the old version?<\/h3>\n<p>Because it was created that way on purpose, so it starts out identical to the live site. Pin the copy to the new version once it exists. That is the test.<\/p>\n<h3>How do I turn on exec or shell_exec?<\/h3>\n<p>Open a ticket naming the plugin that needs it. They are per-account and off by default because each one widens what code on your site may do.<\/p>\n<h3>Where do I change memory_limit or max_execution_time?<\/h3>\n<p>Ask us. Those are per-site and support can raise them for one site without touching the rest of the node. Tell us the domain and what you were doing when you hit the limit.<\/p>\n<\/div>\n<div class=\"hc-rel\">\n<h2>Read next<\/h2>\n<ul>\n<li><a href=\"\/kb\/wordpress-staging-site\/\">How to Create a WordPress Staging Site<\/a><\/li>\n<li><a href=\"\/kb\/best-wordpress-cache-plugin\/\">The Best WordPress Cache Plugin on Our Servers, Measured<\/a><\/li>\n<li><a href=\"\/kb\/create-mysql-database\/\">How to Create a MySQL Database<\/a><\/li>\n<\/ul><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Switch PHP for the whole account, or pin a single website to a different version to test an upgrade. Plus how to turn extensions on.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-143","post","type-post","status-publish","format-standard","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/posts\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":1,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/posts\/143\/revisions"}],"predecessor-version":[{"id":149,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/posts\/143\/revisions\/149"}],"wp:attachment":[{"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/categories?post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostcrafter.com\/kb\/wp-json\/wp\/v2\/tags?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}