Extensions add capabilities such as database access, multibyte text handling, image processing and cryptography to PHP. Select the extensions your application requires and verify them under the website's actual runtime. Enabling every available extension is not a useful troubleshooting method.
IN THIS ARTICLE
What you need before you begin
Use the application's requirements page to make a list of missing or conflicting extensions. Note the selected PHP version and current extension choices. A version change can expose a different set of extensions or defaults.
01 Change the setting
- In DirectAdmin, open the appropriate user account and domain, then search for Select PHP Version. In Evolution it may appear under Extra Features. Open the CloudLinux selector, not an unrelated server administration page.
- Check the active PHP version and which websites the selector change will affect. DirectAdmin can expose both its native PHP selection and CloudLinux PHP Selector. The selected domain in DirectAdmin does not by itself prove that an Alt-PHP change is isolated to that domain. Check the selector scope before applying an account-wide change.
- Open Extensions for the intended PHP version. Compare the application requirements with the entries shown in the selector.
- Enable a required extension or disable a confirmed incompatible optional extension, then save if requested. Change one dependency at a time when diagnosing a fault.
- Run the application's requirements check and test the feature that needed the extension. If you changed the PHP version, recheck all mandatory dependencies.
02 Example: check only the required extensions
Prefer the authenticated application health screen. If it has none, a developer can use a temporary PHP file behind an existing password or IP access restriction on the affected website:
<?php
header("Content-Type: text/plain; charset=UTF-8");
foreach (["mbstring", "gd", "mailparse"] as $extension) {
echo $extension, ": ",
extension_loaded($extension) ? "loaded" : "missing",
PHP_EOL;
}
Replace the list with the application documented dependencies. A loaded result applies to the PHP runtime serving that request; it does not establish codec support or the cron runtime. A missing result after a saved selector change calls for checking the domain handler. Delete the diagnostic file after use and confirm its URL no longer serves it.
Confirm the expected result
Use an authenticated application diagnostics screen where possible. A successful checkbox change is only configuration feedback; the application must report the extension loaded in the runtime that handles its requests. Check background tasks separately when they use CLI PHP.
Why does the application still report a missing PHP extension?
If the selector says native or hides extension controls, establish which handler manages the site. Do not switch production PHP solely to make a checkbox appear. Missing installed packages or disabled server-level extensions need support or server administrator action.