Low memory limits don’t always fail loudly. They fail inconsistently—admin pages half-load, plugin installs die mid-way, or you get 500s that don’t point to an obvious fatal. This guide explains where limits apply and how to fix them.
Symptoms
- Admin pages partially load or time out
- Plugin installs fail halfway
- Seemingly unrelated 500 errors
Where limits apply
- PHP-FPM pool config (often the one that matters for web requests)
- Global
php.ini - WordPress-defined caps (e.g.
WP_MEMORY_LIMIT)
Fix pattern
- Confirm the active PHP-FPM pool (and version) for the site
- Adjust limits in that pool’s config (or the correct php.ini for that version)
- Restart PHP-FPM:
sudo systemctl restart php*-fpm
FAQ
How do I know which pool my site uses?
Check the Apache vhost for the site: it will reference a socket path or TCP address. Match that to a pool in /etc/php/*/fpm/pool.d/. See Apache + PHP-FPM stability basics and per-site pools.
I increased memory in php.ini but nothing changed.
If the site is served by PHP-FPM, the pool config can override php.ini. Edit the pool’s php_admin_value or php_value for memory_limit, then restart that PHP-FPM instance.
Related
- WordPress 500 errors: fast triage — when you see 500s
- Apache + PHP-FPM stability basics — wiring and pool layout