Skip to content

Knowledgebase

Providing multiple supported PHP versions in DirectAdmin

control-panels, development

DirectAdmin can expose multiple installed PHP releases so different applications can move to supported runtimes on their own tested schedule. Providing several versions is a server configuration task; choosing an existing version for one domain is a separate customer action.

What you need before you begin

Use an authorized server administrator and review the current PHP support lifecycle and application inventory. Keep a backup of CustomBuild options and domain runtime selections. Avoid reusing old documentation sample versions that are no longer supported.

01 Provide multiple supported PHP versions in DirectAdmin

  1. Inspect the configured PHP slots using the CustomBuild options screen or da build opt_help. Identify which slot is the default and which slots are already assigned to customer sites.
  2. Select supported PHP releases and compatible handlers for the intended web-server stack. Set the appropriate phpN_release values using the current supported CustomBuild controls.
  3. Build the configured PHP versions with the documented CustomBuild workflow, then regenerate the required web-server configuration. Plan for resource use and affected-service reloads during the build.
  4. Check that the DirectAdmin native version selector is enabled with da config-get php_version_selector. Change server configuration only when required and permitted.
  5. Test a staging domain on each new runtime before allowing customer migration. Review required extensions for every installed release rather than assuming one extension installation covers all builds.

How do I check all intended PHP versions work?

Confirm the intended versions appear in Domain Setup and that each test domain actually executes the selected runtime. Test scheduled commands separately because the CLI binary can differ. Record remaining domains using a runtime scheduled for retirement.

Troubleshoot unexpected results

If a version is absent, inspect build completion, selector configuration and handler compatibility. Do not replace every domain selection with a bulk script merely to clear an old runtime. Migrate applications deliberately and remove a version only after confirming no remaining website or job requires it.

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support