How to Increase or Decrease PHP Memory Limit via CloudLinux Selector in DirectAdmin

On Noiz DirectAdmin hosting that runs CloudLinux, the Select PHP Version tool lets you raise or lower PHP's memory_limit yourself, without editing a php.ini file or opening a support ticket. This guide shows you where the setting lives in DirectAdmin, what the value genuinely controls, and the plan-level ceiling that quietly caps whatever figure you pick.

The tool goes by more than one name. Select PHP Version is the DirectAdmin menu label, PHP Selector is CloudLinux's own product name, and the page you need is its Options tab. They all mean the same thing.

memory_limit is the maximum amount of memory a single PHP script may allocate while it runs. It is not your account's total memory allowance, and it is not how much memory your site will use. It is a safety valve: when one script tries to go past the figure, PHP terminates that script with a fatal Allowed memory size ... exhausted error instead of letting it eat the server.

Last reviewed: 27 July 2026, against the current DirectAdmin release with its default Evolution interface, the current CloudLinux PHP Selector, and the PHP branches the PHP project currently supports (8.2, 8.3, 8.4 and 8.5). This guide is written for Noiz hosting and is kept current against DirectAdmin and CloudLinux. It complements, and does not replace, the official documentation linked below.

Official Documentation Reference

Prerequisites

  • A Noiz DirectAdmin hosting account and its login details.
  • An account set to a numbered PHP version rather than native. The Options tab only exists on the alternative (alt-php) builds. See How to Change the PHP Version via CloudLinux Selector in DirectAdmin if you need to switch first.
  • A note of the current value before you change it, so you can put it back.
  • The figure your application actually asks for. Most CMS documentation states a minimum; start from that rather than guessing.

Change the PHP Memory Limit

1. Open Select PHP Version

Log in to your DirectAdmin account. In the Extra Features section of the menu, click Select PHP Version. If you cannot see the entry, type Select PHP into the navigation filter box at the top of the menu and click the result that appears.

The Select PHP Version entry in the Extra Features section of the DirectAdmin menu

2. Open the Options tab

Click Options. This tab lists the PHP directives you are allowed to change for the PHP version currently selected on your account, each with its present value.

The Options tab of the Select PHP Version page, listing the editable PHP directives

Note: if the Options tab is empty or shows an error mentioning the native PHP version, your account is set to native. That build is managed by the server rather than by the Selector, so it exposes no editable options. Select a numbered version first, then come back to Options.

3. Set memory_limit

Find memory_limit in the list and open the drop-down beside it, then choose the value you need. The Selector saves the change as soon as you select it, and it applies to new PHP requests straight away. There is nothing to restart and no separate save button to press.

The memory_limit drop-down open on the Options tab, showing the selectable memory values

4. Confirm it took effect

Reload the page you were troubleshooting. If your application has a system information screen, read the value there rather than trusting the drop-down: WordPress shows it under Tools then Site Health then Info then Server, and most other platforms have an equivalent panel. That reading is the one that matters, because it reports what PHP is genuinely enforcing for your site.

The Ceiling You Cannot Raise From Here

This is the single most important thing to understand about the setting, and it is the reason most follow-up tickets get opened.

Your hosting plan carries a hard per-account memory ceiling, enforced by CloudLinux at the operating system level and entirely separate from PHP. The Selector's drop-down does not know about that ceiling and will happily offer you figures above it. The lower of the two values is the one that actually applies. Choosing 2048M on a plan whose ceiling sits well below that does not hand your scripts 2 GB. It simply means PHP stops policing the script, and the account limit stops it instead, usually with a messier failure than a clean PHP error.

  • Signs you are hitting the account ceiling rather than memory_limit: a 508 Resource Limit Is Reached page, a blank white screen, a request that is cut off part-way through, or a process that dies leaving nothing useful in the PHP error log.
  • Raising the drop-down further will not fix any of those. Once the PHP figure already sits at or above the account ceiling, the remaining options are to reduce what the application does in a single request, or to move to a plan with more memory.
  • Ask before you tune. Open a ticket with Noiz support for your account's current memory ceiling and recent utilisation before you spend an afternoon adjusting a value that is not the constraint.

Choosing a Sensible Value

  • Start from the application's stated requirement. Many PHP applications run comfortably in 128M or 256M. Image processing, PDF generation, large imports and exports, and heavyweight page builders are the usual legitimate reasons to need more.
  • Raise in steps, not straight to the maximum. Go from 128M to 256M, retest, then to 512M if the error persists. Jumping to the largest figure on offer throws away the diagnostic signal you were using.
  • A very high limit hides bugs rather than fixing them. A well-behaved page should not need hundreds of megabytes. When one does, the usual causes are a plugin loading an entire database table into an array, an unbounded loop, or an import script processing every row at once instead of in batches. Fixing that is cheaper than paying for memory to absorb it.
  • Do not choose -1, even if the option appears. That removes the limit altogether, so one runaway script can consume the whole account allowance and take every other site on the account down with it.
  • Lowering it is a legitimate move too. A deliberately modest limit makes a memory leak fail fast and visibly on one page, instead of intermittently starving the whole account.

Things That Catch People Out

  • The value is stored per PHP version. Each version keeps its own set of Options values. Change your PHP version later and the new version starts on its own defaults, so your tuned memory_limit does not travel with it. Re-check the Options tab immediately after any version change.
  • The setting is account-wide, not per-domain. The CloudLinux Selector applies one configuration to the whole DirectAdmin user account, so every domain and subdomain under it shares the value. Sites that genuinely need different limits belong in separate accounts.
  • Your application can override it downwards. WordPress in particular sets its own figures through WP_MEMORY_LIMIT and WP_MAX_MEMORY_LIMIT in wp-config.php. If the server allows 512M but wp-config.php asks for 128M, your admin pages get 128M. Check that file before concluding the Selector change did not work.
  • A custom php.ini or .htaccess line may be doing nothing at all. Under the PHP handlers used alongside the CloudLinux Selector, a php_value memory_limit line in .htaccess is typically ignored, and a stray php.ini in your web root may be ignored or may conflict with the Selector. Set the value in one place, the Selector, and remove the leftovers.
  • Cron and command-line runs are separate. A script run through a cron job or PHP CLI does not necessarily inherit the same memory_limit as a web request. If a scheduled import fails while the same task succeeds in a browser, check that difference first.
  • The drop-down offers fixed choices, not free text. If the exact figure you want is not listed, take the next value up. If the option is greyed out or missing entirely, the value is locked at plan level and only Noiz support can change it.
  • Other Options values share the same page. While you are on the Options tab, resist the urge to change several directives at once. Change one, retest, then move on, or you will not know which one made the difference.

Troubleshooting

  • Symptom: Fatal error: Allowed memory size of X bytes exhausted. This is the clean case and the one this guide fixes. The number in the message is the limit PHP is currently enforcing. If it does not match the drop-down, something is overriding it: check wp-config.php, then any custom php.ini, then confirm which PHP version the site actually runs.
  • Symptom: a 508 error, or the page simply dies with nothing in the PHP error log. You are hitting the account memory ceiling rather than memory_limit. Raising the drop-down will not help. Contact Noiz support for your account's ceiling and recent usage.
  • Symptom: the Options tab is empty or shows an error about the native PHP version. The account is on the server's native PHP build, which exposes no editable options. Switch to a numbered version, then return to Options.
  • Symptom: the change saved but the site still reports the old figure. Confirm the account is on the PHP version you actually edited, then clear any full-page or object cache in the application before reading the value again.
  • Symptom: it worked, then reverted weeks later for no obvious reason. The account's PHP version was changed in the meantime and the new version started on its own defaults. Re-apply the value on the version you are now running.
  • Symptom: only one particular page or import fails while everything else is fine. That is a workload problem rather than a configuration problem. Split the import into smaller batches, or process fewer records per request, before raising memory again.

Related Guides

If raising the limit does not clear the error, or you are not sure whether you are hitting PHP's limit or your plan's ceiling, open a ticket with Noiz support. Include your domain name, the value you set, and the exact error text or the URL that fails. On managed plans, Noiz will work out which limit is actually being reached and either tune it or advise on the plan that fits your workload.

  • 0 Users Found This Useful
  • directadmin, php, cloudlinux, selector
Was this answer helpful?

Related Articles

How to Create and Download a Full Backup of Your Account in DirectAdmin

DirectAdmin lets you package your entire hosting account into a single compressed archive and...

How to Download Email, FTP, or a Database-only Backup from DirectAdmin

DirectAdmin lets you back up part of your hosting account instead of all of it. If you only need...

How to Restore a Previously Generated Backup in DirectAdmin

This guide shows you how to restore a backup you previously generated in DirectAdmin on your Noiz...

How to Remove a Backup File in DirectAdmin

Backup archives that you generate yourself are written into your own account, inside a folder...

How to Create a MySQL Database in DirectAdmin

Almost every dynamic website needs a database behind it. WordPress, Joomla, Magento, Laravel and...