PHP is the engine behind WordPress, WHMCS, and most of the web’s dynamic content. Picking the right version and tuning a handful of settings is the difference between a site that flies and one that times out. iWebVault uses CloudLinux’s PHP Selector, which gives you per-account control over PHP version and configuration. This guide covers the choices that actually matter.
Choosing the right PHP version
| Version | Status (2026) | Use it if |
|---|---|---|
| PHP 8.3 | Current, fastest | Modern WordPress, modern apps — best default |
| PHP 8.2 | Supported, stable | Default for cautious WordPress sites |
| PHP 8.1 | Security-only support | Plugins/themes not yet 8.2-compatible |
| PHP 8.0 and earlier | End of life — security risk | Never, unless a critical legacy app blocks upgrade |
| PHP 7.4 and earlier | Very end of life | Migrate the app away from these versions |
The honest recommendation: PHP 8.3. WordPress fully supports it. Most modern themes and plugins are tested on it. It’s typically 10–20% faster than PHP 8.1 on real-world WordPress workloads.
If you’re running something legacy that breaks on 8.3 (some older WHMCS versions, some hand-coded PHP apps from years ago), use 8.2 or 8.1 — but plan to update the app, not stay on dying PHP forever.
Changing your PHP version
- cPanel → Software → Select PHP Version.
- Top of the page: dropdown labeled Current PHP version.
- Select the version you want.
- Click Set as current.
Effective immediately — refresh your site and it’s running on the new version. If the site breaks, switch back to the previous version (same dropdown) and investigate which plugin or theme caused the incompatibility.
Adjusting PHP settings (the ones that matter)
cPanel → Select PHP Version → click Options tab. You’ll see a long list of php.ini directives. The handful that actually matter:
| Setting | Typical default | Recommended | What it does |
|---|---|---|---|
memory_limit | 128M | 256M | Max RAM per PHP request |
upload_max_filesize | 64M | 128M | Largest file you can upload via PHP |
post_max_size | 64M | 128M | Max POST request body size |
max_execution_time | 30 | 120 | Seconds before script timeout |
max_input_vars | 1000 | 5000 | Form fields per request (Elementor needs this high) |
display_errors | On | Off (production) | Show errors to visitors |
Two-setting pairing: upload_max_filesize and post_max_size should be equal (or post_max_size slightly larger). Setting upload to 100M but post to 64M still caps you at 64M.
Click the setting, change the value, click Apply. Changes take effect immediately.
Enabling PHP extensions
cPanel → Select PHP Version → Extensions tab. Checkboxes for every available PHP extension. Most apps work with the defaults; some need specific extras.
Extensions WordPress and common apps need:
- curl — outbound HTTP requests (plugin updates, API calls). Should be enabled by default.
- gd — image manipulation (thumbnail generation, image resizing).
- imagick — alternative image library, often preferred over GD for quality.
- mbstring — multi-byte string support (essential for non-ASCII content).
- mysqli / pdo_mysql — database connectivity.
- opcache — bytecode caching, big speed boost. Enable unconditionally.
- zip — handling ZIP archives (WordPress update mechanism needs it).
- intl — internationalization functions (some apps require it).
- soap — SOAP API support (older B2B integrations).
- redis — Redis caching (only useful if you have Redis configured).
iWebVault enables the common ones by default. If a plugin warns “extension X not loaded”, check the Extensions tab and enable it.
Per-folder PHP settings
If you need a specific setting only in one folder (say, a higher memory limit only for the WordPress admin area), create a .user.ini in that folder:
memory_limit = 512M
max_execution_time = 300
One directive per line. Applies to all PHP files in that folder and below. Useful for raising limits selectively without bumping them site-wide.
Checking what PHP version a site uses
Quick sanity check — create a file phpinfo.php in public_html with:
<?php phpinfo(); ?>
Visit yourdomain.com/phpinfo.php — full PHP configuration page, showing version, loaded extensions, all settings. Delete the file after checking — it exposes server information and is a small security leak.
WordPress users: Tools → Site Health → Info → Server shows the active PHP version without a phpinfo file.
Common PHP issues
“Allowed memory size of X bytes exhausted”. Raise memory_limit to 256M or 512M. If the error keeps happening at higher limits, you have a memory leak — usually a poorly-written plugin.
“Maximum execution time of 30 seconds exceeded”. A long-running script. Raise max_execution_time to 120, or refactor the script to be faster. Long-running scripts on shared hosting are usually a sign you should be using cron or a background process instead.
“File too large” / upload fails. upload_max_filesize and post_max_size both need to be larger than the file.
Plugin says “X extension not loaded”. Enable it in the Extensions tab. If you can’t find it in the list, it’s not available on shared hosting — check the plugin’s compatibility requirements.
WordPress shows blank white page after PHP version change. Plugin or theme incompatible with new version. Roll back via Select PHP Version, then update the broken plugin/theme to a current version, then try again.
Site faster on PHP 8.3 but breaks WHMCS. Some older WHMCS versions need 8.1 or 8.2. Run WHMCS on the version it officially supports, keep WordPress on 8.3 — yes, you can have different addon-domain folders on different PHP versions via .htaccess rules, but the simpler fix is to update WHMCS to the current version that supports 8.3.
What’s next
- Performance impact of PHP settings: cPanel resource limits.
- OPcache and caching: WordPress install covers cache plugin setup.
- Site Health check: WordPress Admin → Tools → Site Health.
Set PHP to 8.3, bump memory_limit to 256M, upload_max_filesize and post_max_size to 128M, raise max_input_vars to 5000 if you use Elementor. That’s the “configured properly” baseline that handles 90% of WordPress sites.
Was this helpful?
Thanks for your feedback!