Skip to content
xaweho

Knowledge base · intermediate

Choosing and setting the PHP version

Which PHP version for which application. PHP selector in Plesk, php.ini settings (memory_limit, upload_max_filesize), switching without downtime.

intermediate ·

PHP is the language WordPress, Joomla and most websites are written in. Plesk lets you pick the PHP version per domain. Which version fits what, when you should switch, and what the most important settings are — here’s the tour.

Which PHP versions we offer

Currently:

  • PHP 7.4 (legacy — end of life since 2022, only for old applications)
  • PHP 8.0 (legacy — end of life since 2023)
  • PHP 8.1 (stable, widely supported)
  • PHP 8.2 (stable, good for modern apps)
  • PHP 8.3 (current, recommended for new projects)
  • PHP 8.4 (newest, for those who want the latest)

Configurable per domain. You can run two domains on different PHP versions at the same time.

Choosing a PHP version

In Plesk: Domain → Hosting & DNS → PHP SettingsPHP version.

Click the dropdown → pick the version → save.

Takes effect immediately — no downtime, no restart.

Which version for which application

WordPress

  • PHP 8.2 or 8.3: recommended for current WordPress versions
  • PHP 8.1: solid default
  • PHP 7.4: only for very old sites with plugins that were never updated

WordPress 6.x supports PHP 7.4–8.4. We recommend 8.2 for stability, 8.3 for best performance.

Joomla

  • PHP 8.1 or 8.2: current Joomla 4 versions

TYPO3

  • PHP 8.2 or 8.3: TYPO3 12.x

Custom PHP applications

Take the version your application requires. If you write the code yourself: 8.3 as the default.

Legacy apps

For old forum software or old custom applications: PHP 7.4. Keep in mind: no more security patches — we only provide it for an unavoidable migration period.

Adjusting PHP settings

In Plesk: Domain → PHP Settings shows a list of the most important values.

memory_limit

Default depends on plan: 512 MB (Start), 1 GB (Pro), 2 GB (Power), 4 GB (Max).

That’s plenty for WordPress with lots of plugins. Normally you don’t need to touch this.

upload_max_filesize / post_max_size

Depending on plan: 64 MB (Start), 128 MB (Pro), 512 MB (Power), 1 GB (Max) — that’s also the plan limit.

If you want to upload even larger files (videos, large ZIP imports): use FTPS instead of PHP upload.

Keep both values in sync (post_max_size at least as large as upload_max_filesize).

max_execution_time

Default: 30 seconds.

For long imports / backups: 300 or 600.

But: the better solution is usually to run long operations asynchronously (CLI, WP-CLI) instead of raising the PHP timeout.

display_errors

Default: off (production).

When you’re debugging: temporarily on. But never permanently on in production — it gives attackers hints about server paths.

error_log

Where PHP errors get written. Default: /var/log/.... You can read it in Plesk under Statistics → Logs.

date.timezone

Default: Europe/Berlin. Affects date functions in PHP.

PHP extensions

Plesk shows the available PHP extensions:

  • mysqli, pdo_mysql — for MySQL databases
  • gd, imagick — for image processing
  • curl — for HTTP requests
  • mbstring — for UTF-8
  • json, xml — for data formats
  • opcache — for performance (always leave enabled)
  • ionCube Loader — for encoded/licensed PHP applications, enabled by default

That covers the common applications — CMS, shops, blogs, CRM systems, forums — without extra work. If your application is still missing something: open a ticket, we’ll add it.

Performance optimization

OPcache

Pre-compiled PHP — speeds up every PHP execution by a factor of 2-5.

Should be enabled (our default).

In Plesk: PHP Settings → opcache.enable = On.

realpath_cache_size

Default: 16M. For large codebases (WordPress with 50+ plugins): raise it to 64M.

Run PHP as FPM application served by nginx

Plesk has several PHP handlers. PHP-FPM is the fastest — our default.

Switching PHP — pitfalls

Plugin incompatibility

When you switch from PHP 7.4 to 8.x: some old WordPress plugins have incompatibilities (deprecated warnings, errors).

Before switching: update all plugins to the latest version. Then WordPress Toolkit → compatibility check.

Composer vendor dependencies

If your app was installed via Composer: run composer install again after switching PHP versions so the dependencies match.

Caching

After switching PHP versions: clear all browser caches and CDN caches.

The Plesk server cache (OPcache) is cleared automatically on switch.

Config files

Some apps have PHP-version-specific php.ini values in wp-config.php or similar. Check the config when switching.

PHP version per directory

Plesk standard: the PHP version applies to the whole domain.

If you need a different PHP version in a subdirectory: create a subdomain with its own PHP config (see Domain overview).

Custom php.ini

For deeper tweaks: in Plesk → PHP Settings → Additional configuration directives you can insert custom PHP settings:

memory_limit = 512M
max_input_vars = 5000
max_input_nesting_level = 256

Takes effect immediately after saving.

Frequently asked questions

Can I test a PHP version before switching? Yes, with the WordPress Toolkit on a cloned staging site. More in WordPress Toolkit in Plesk.

What if switching PHP versions breaks the website? Switch back immediately in Plesk — takes effect instantly. Website runs again. Then do plugin updates or code fixes, then try again.

How do I see which PHP version is currently running?

  • In Plesk: Hosting & DNS → PHP version
  • In PHP itself: create a file with <?php phpinfo(); ?>, open it in the browser
  • The WordPress Toolkit shows the version in the domain overview

How long are old PHP versions supported?

  • PHP 7.4: only limited support left — we recommend migrating to 8.x
  • PHP 8.0: same story
  • PHP 8.1+: actively supported

How do I fully clear the OPcache? Plesk → PHP Settings → Reset OPcache. Or it’s automatically empty after a Plesk restart.

What’s the difference between PHP-CGI, PHP-FPM and Apache mod_php?

  • mod_php: Apache loads PHP directly (legacy)
  • PHP-CGI: PHP runs as a CGI process (slow)
  • PHP-FPM: dedicated PHP worker pool (fast, modern)

We use PHP-FPM. Other modes are configurable if needed — rarely requested.

ionCube Loader, SourceGuardian — do you have those? ionCube Loader is standard and enabled for all PHP versions — encoded applications run right away. SourceGuardian and other exotic loaders we add on request, open a ticket.

Can I set the memory limit to 1 GB? From the Pro plan up, 1 GB is actually the default. If you keep hitting OOM errors, better optimize the code or consider a vServer.

What’s next

Related products
Tags
plesk php konfiguration

Did this article help?

If not, open a ticket. If it did, we're happy about a referral — both sides get €25 credit on their customer account.