How to change PHP version per domain.
Different sites can run different PHP versions on the same hosting account. Here's the setting and the gotchas.
You can run WordPress on PHP 8.3 and an old Laravel app on PHP 7.4 on the same hosting plan. cPanel's MultiPHP Manager handles per-domain version selection.
Available versions
We support these PHP versions:
- 7.4 (legacy — keep around for old apps that haven't been ported)
- 8.0
- 8.1
- 8.2
- 8.3 (default for new accounts, recommended for WordPress 6.5+)
- 8.4
Older versions (5.6, 7.0‑7.3) we no longer offer — they're past End of Life and have unpatched security issues.
How to change it
- cPanel → MultiPHP Manager
- Check the box next to your domain
- Pick the desired version from the PHP Version dropdown
- Click Apply
Takes effect within ~30 seconds. No restart needed.
Verifying which PHP is active
Drop this in your site's root as phpinfo.php:
<?php phpinfo(); ?>Visit yourdomain.com/phpinfo.php. The first big block shows the running version.
Delete this file after checking — leaving it exposes server config to anyone.
Per-domain extensions
cPanel → Select PHP Version → Extensions tab.
You can enable/disable per-domain extensions (curl, gd, imagick, mbstring, redis, etc.) without affecting other domains on the account.
If a plugin/app requires an extension that's not enabled, the install fails or shows "Class not found" errors. Enable the missing extension in this panel and retry.
Memory limit and other ini settings
Select PHP Version → Options tab.
Common adjustments:
memory_limit: 256M (default) → 512M for image-heavy WordPressmax_execution_time: 30 (default) → 120 for heavy admin tasksupload_max_filesize: 64M (default) → 256M for large media uploadspost_max_size: must be >= upload_max_filesize
Each setting takes effect immediately after Save.
Watch out for
Old plugins breaking. Newer PHP is stricter about deprecated syntax. Before upgrading PHP, check the plugin authors' compatibility notes. Or upgrade in a staging clone first.
WP Cron failures. Some sites have cron tasks scheduled before the upgrade that fail on the new version. Check Tools → Site Health in WordPress for warnings.
Composer-managed apps. Laravel/Symfony apps need their composer.json to declare a PHP version range. After bumping PHP in cPanel, also update composer if needed:
composer require php "^8.3"
composer installRolling back
If a version change breaks the site, MultiPHP Manager → pick previous version → Apply. Recovery is 30 seconds.