Clear Nextcloud’s PHP Memory Warning at the Web Server

If Nextcloud’s Admin Overview says the PHP memory limit is below 512 MB, raising the value in a random php.ini may not clear the warning. Nextcloud checks the PHP environment that serves the web interface, while command-line PHP can load a different configuration. Set memory_limit for the active web PHP service, restart that service, and verify the value from Nextcloud’s own Admin Overview.

Nextcloud 35’s administration manual, checked October 10, 2026, says PHP’s memory limit should be at least 512 MB. That is a per-script ceiling, not a promise that every PHP process will use that much. Raising it can allow memory-intensive requests to finish, but it does not add physical RAM; on a small server, too many simultaneous PHP workers can still exhaust system memory.

First identify how Nextcloud runs PHP

Before editing configuration, identify your web stack and PHP version. In the Nextcloud Admin Overview, note the PHP version if shown. On a shell, php --ini displays the configuration files used by the command-line PHP binary, but it does not prove which file PHP-FPM or Apache uses for browser requests.

php --version
php --ini

For a typical Debian or Ubuntu setup, PHP-FPM often reads /etc/php/<version>/fpm/php.ini, while Apache’s mod_php often reads /etc/php/<version>/apache2/php.ini. The CLI configuration is commonly under /etc/php/<version>/cli/php.ini. Replace <version> with the installed PHP version, such as 8.3. Other operating systems and control panels may use different paths.

Nextcloud’s manual also notes that turnkey deployments such as AIO, Snap, NCP, or Community Docker provide preconfigured PHP environments. For those installations, use the deployment’s supported configuration method rather than assuming a host-level php.ini applies.

Set the web PHP memory limit to 512 MB or higher

PHP-FPM with Nginx or Apache

Back up the active FPM configuration, then edit its php.ini. On Debian or Ubuntu, a command could look like this; adapt the version and path to your server:

sudo cp /etc/php/8.3/fpm/php.ini /etc/php/8.3/fpm/php.ini.backup
sudo nano /etc/php/8.3/fpm/php.ini

Find the existing memory_limit directive and set it to at least 512 MB:

memory_limit = 512M

Edit the existing directive rather than adding several competing copies. If a PHP-FPM pool configuration sets php_admin_value[memory_limit], that pool-level setting can take precedence; review the active pool file if the warning remains.

Restart the matching PHP-FPM service so new web requests use the updated setting. For example, the service may be named php8.3-fpm:

sudo systemctl restart php8.3-fpm

When Apache uses PHP-FPM, restart PHP-FPM and reload or restart Apache only if your web-server configuration also changed. Use your distribution’s correct service names.

Apache with mod_php

If Apache loads PHP as a module, edit the Apache SAPI’s configuration, commonly /etc/php/8.3/apache2/php.ini on Debian or Ubuntu. Set memory_limit = 512M, save the file, and restart Apache using the service name for your operating system:

sudo systemctl restart apache2

Do not edit the FPM file if the active web server is using mod_php, or vice versa. The PHP configuration loaded by the web server is the one that matters for the Admin Overview warning.

Official Nextcloud Docker image

The official Nextcloud Docker image documents a PHP_MEMORY_LIMIT environment variable, with a default of 512M. Set it in your Compose file or other container deployment configuration, then recreate or update the container through that deployment method. A manual edit inside a running container may be lost when it is replaced. Other images and orchestration platforms can use different settings, so follow the documentation for the image you actually run.

Check whether the change reached the web interface

Sign in as an administrator and reopen Administration settings > Overview. Confirm that the memory warning is gone and that the reported PHP limit is at least 512 MB. Refresh the page after restarting the service; a previously loaded page may still show stale status.

If it still reports a lower number, check these likely causes in order:

  • Wrong SAPI: the CLI file was changed but PHP-FPM or Apache uses another configuration.
  • Wrong PHP version: the active web service runs a different version from the one whose php.ini you edited.
  • Override: an FPM pool, hosting control panel, or local PHP configuration overrides the global setting.
  • Service not restarted: existing PHP workers are still using the previous configuration.
  • Container configuration: the edited host file is not mounted into the container or the container was not recreated after changing its environment.

The CLI output from php --ini remains useful for cron and OCC jobs, but it cannot verify the web value by itself. Avoid leaving a public phpinfo() page on the server; use the protected Nextcloud Admin Overview or your host’s secure diagnostics instead.

When a higher limit is not enough

Nextcloud’s 512 MB guidance is a minimum configuration recommendation, not a universal sizing formula. Large previews, imports, or app-specific operations can need more, but increasing the limit substantially can let each PHP process consume more RAM. If the host begins swapping or the operating system terminates PHP workers, lower PHP-FPM concurrency or add memory capacity rather than continuing to raise the per-process limit. Check actual RAM use during normal peak activity before choosing a higher value.

If the warning disappears but the original operation still fails, look for a more specific PHP error in Nextcloud’s log and the web server or PHP-FPM logs. A memory-limit warning concerns PHP’s per-process allocation ceiling; it does not diagnose unrelated upload limits, timeouts, disk pressure, or application errors.

Official references

Leave a Comment

Clear Nextcloud’s PHP Memory Warning at the Web Server

Set the PHP memory limit Nextcloud actually uses, restart the right service, and confirm the 512 MB setting in Admin Overview.

Connect an S3-Compatible Bucket to Nextcloud External Storage

Mount a compatible object-storage bucket in Nextcloud using its S3 backend, with the right endpoint, credentials, access scope, and verification steps.

Move Nextcloud Data to an External Drive Without Breaking Storage

Move Nextcloud Data to an External Drive Without Breaking Storage

Safely move a Linux Nextcloud data directory to an external drive using a persistent UUID mount, maintenance mode, a verified copy, and the original-path symlink.

Nextcloud Database Error After an Update: What to Check First

Restore Nextcloud access after an update by diagnosing SQL errors, checking database connectivity, and safely completing interrupted migrations.

Reset a Lost Nextcloud Admin Password with OCC

Use Nextcloud’s OCC command to reset an administrator password from the server shell, with guidance for usernames, permissions, and external login providers.

Add the HSTS Header at the HTTPS Endpoint Serving Nextcloud

Clear Nextcloud’s HSTS warning by setting the header at Apache, NGINX, or your TLS proxy, then verify the public HTTPS response safely.

Troubleshoot Nextcloud App Installs That Report No Internet

Troubleshoot Nextcloud App Installs That Report No Internet

Trace App Store installation failures to DNS, HTTPS, proxy, TLS, or configuration issues from the Nextcloud server itself.

Tame Nextcloud Preview CPU Spikes with a Scheduled Queue

Move thumbnail work to a controlled background schedule, trim unused preview sizes, and verify the queue without overwhelming your Nextcloud server.

Get Nextcloud Desktop Sync Moving Past “Processing Files”

Find the file, exclusion rule, connection issue, or client database state holding up Nextcloud sync, then verify uploads and downloads safely.

Clear the Nextcloud OPcache Warning by Adjusting the Right Limit

Find the PHP OPcache limit triggering Nextcloud’s warning, update the correct web PHP configuration, restart safely, and verify the result.