Устранить предупреждение Nextcloud о нехватке памяти PHP на веб-сервере.

Если в административной панели Nextcloud указано, что лимит памяти PHP ниже 512 МБ, увеличение этого значения случайным образом php.iniможет не устранить предупреждение. Nextcloud проверяет среду PHP, которая обслуживает веб-интерфейс, в то время как PHP из командной строки может загружать другую конфигурацию. Установите значение memory_limitдля активной веб-службы PHP, перезапустите эту службу и проверьте значение в административной панели Nextcloud.

В руководстве администратора Nextcloud 35, проверенном 10 октября 2026 года, указано, что лимит памяти для PHP должен составлять не менее 512 МБ. Это ограничение для каждого скрипта, а не гарантия того, что каждый процесс PHP будет использовать столько памяти. Повышение этого лимита может позволить завершить ресурсоемкие запросы, но не добавляет физической оперативной памяти; на небольшом сервере слишком много одновременно работающих процессов PHP все равно могут исчерпать системную память.

Сначала выясните, как Nextcloud запускает PHP.

Перед редактированием конфигурации определите свой веб-стек и версию PHP. В обзоре административной панели Nextcloud обратите внимание на версию PHP, если она отображается. В командной строке php --iniотображаются файлы конфигурации, используемые исполняемым файлом PHP из командной строки, но это не показывает, какой файл PHP-FPM или Apache использует для запросов браузера.

php --version
php --ini

В типичной конфигурации Debian или Ubuntu PHP-FPM часто использует путь `.php` /etc/php/<version>/fpm/php.ini, в то время как mod_php Apache часто использует путь `.php` /etc/php/<version>/apache2/php.ini. Конфигурация CLI обычно находится в ` /etc/php/<version>/cli/php.ini.php`. Замените `.php` <version>на установленную версию PHP, например 8.3`.php`. В других операционных системах и панелях управления могут использоваться другие пути.

В руководстве Nextcloud также отмечается, что готовые решения, такие как AIO, Snap, NCP или Community Docker, предоставляют предварительно настроенные среды PHP. Для таких установок используйте поддерживаемый методом конфигурации развертывания, а не предполагайте, что php.iniприменяется конфигурация на уровне хоста.

Установите ограничение на использование памяти PHP в веб-приложениях на уровне 512 МБ или выше.

PHP-FPM с Nginx или Apache

Создайте резервную копию активной конфигурации FPM, затем отредактируйте её php.ini. В Debian или Ubuntu команда может выглядеть так; адаптируйте версию и путь к вашему серверу:

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

Найдите существующую memory_limitдирективу и установите для нее размер не менее 512 МБ:

memory_limit = 512M

Отредактируйте существующую директиву, а не добавляйте несколько конкурирующих копий. Если в конфигурации пула PHP-FPM задан параметр php_admin_value[memory_limit], то этот параметр на уровне пула может иметь приоритет; если предупреждение сохраняется, проверьте файл активного пула.

Перезапустите соответствующую службу PHP-FPM, чтобы новые веб-запросы использовали обновленные настройки. Например, служба может называться php8.3-fpm:

sudo systemctl restart php8.3-fpm

Если Apache использует PHP-FPM, перезапустите PHP-FPM и перезагрузите или перезапустите Apache только в том случае, если изменилась и конфигурация вашего веб-сервера. Используйте правильные имена служб вашего дистрибутива.

Apache с mod_php

Если Apache загружает PHP как модуль, отредактируйте конфигурацию Apache SAPI (обычно это делается /etc/php/8.3/apache2/php.iniв Debian или Ubuntu). Установите значение параметра `--php- memory_limit = 512Mservice-name`, сохраните файл и перезапустите Apache, используя имя службы для вашей операционной системы:

sudo systemctl restart apache2

Не редактируйте файл FPM, если активный веб-сервер использует mod_php, и наоборот. Для предупреждения в разделе «Обзор административной панели» важна конфигурация PHP, загруженная веб-сервером.

Официальный образ Docker для Nextcloud

В официальном образе Docker Nextcloud описана PHP_MEMORY_LIMITпеременная среды со значением по умолчанию 512M. Установите её в файле Compose или другой конфигурации развертывания контейнера, а затем пересоздайте или обновите контейнер с помощью этого метода развертывания. Внесенные вручную изменения в работающий контейнер могут быть потеряны при его замене. Другие образы и платформы оркестрации могут использовать другие настройки, поэтому следуйте документации для образа, который вы фактически используете.

Проверьте, отобразилось ли изменение в веб-интерфейсе.

Войдите в систему как администратор и снова откройте настройки администрирования > Обзор . Убедитесь, что предупреждение о нехватке памяти исчезло и что заявленный лимит PHP составляет не менее 512 МБ. Обновите страницу после перезапуска службы; ранее загруженная страница может по-прежнему отображать устаревший статус.

Если значение по-прежнему ниже, проверьте следующие вероятные причины в указанном порядке:

  • Неправильная конфигурация SAPI: файл CLI был изменен, но PHP-FPM или Apache используют другую конфигурацию.
  • Неверная версия PHP: активный веб-сервис использует другую версию, отличную от той, которую php.iniвы отредактировали.
  • Переопределение: пул FPM, панель управления хостингом или локальная конфигурация PHP переопределяют глобальную настройку.
  • Сервис не перезапущен: существующие PHP-воркеры по-прежнему используют предыдущую конфигурацию.
  • Конфигурация контейнера: отредактированный файл hosts не смонтирован в контейнере или контейнер не был пересоздан после изменения его окружения.

Вывод командной строки php --iniостается полезным для заданий cron и OCC, но сам по себе он не может проверить значение веб-страницы. Избегайте размещения общедоступной phpinfo()страницы на сервере; вместо этого используйте защищенный обзор административной панели Nextcloud или защищенную диагностику вашего хостинга.

Когда более высокого лимита недостаточно

Рекомендация Nextcloud в 512 МБ — это минимальная рекомендуемая конфигурация, а не универсальная формула расчета объема памяти. Для больших предварительных просмотров, импорта или операций, специфичных для приложений, может потребоваться больше памяти, но существенное увеличение лимита может привести к тому, что каждый процесс PHP будет потреблять больше оперативной памяти. Если хост начинает использовать файл подкачки или операционная система завершает работу рабочих процессов PHP, уменьшите параллелизм PHP-FPM или увеличьте объем памяти, а не продолжайте увеличивать лимит для каждого процесса. Перед выбором более высокого значения проверьте фактическое использование оперативной памяти во время пиковой нагрузки.

Если предупреждение исчезло, но исходная операция по-прежнему завершается с ошибкой, поищите более конкретную ошибку PHP в журнале Nextcloud, а также в журналах веб-сервера или PHP-FPM. Предупреждение об ограничении памяти касается потолка выделения памяти для каждого процесса в PHP; оно не диагностирует несвязанные с этим ограничения на загрузку, тайм-ауты, нехватку диска или ошибки приложения.

Официальные ссылки

Оставить комментарий

Устранить предупреждение Nextcloud о нехватке памяти PHP на веб-сервере.

Установите ограничение на объем памяти, фактически используемый Nextcloud для PHP, перезапустите нужную службу и подтвердите значение 512 МБ в разделе «Обзор администратора».

Подключите совместимое с S3 хранилище к внешнему хранилищу Nextcloud.

Подключите совместимый сегмент объектного хранилища в Nextcloud, используя его бэкэнд S3, с указанием правильной конечной точки, учетных данных, области доступа и этапов проверки.

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Переместите данные Nextcloud на внешний диск, не повреждая хранилище.

Безопасное перемещение каталога данных Linux Nextcloud на внешний диск с использованием постоянного монтирования UUID, режима обслуживания, проверенной копии и символической ссылки на исходный путь.

Ошибка базы данных Nextcloud после обновления: что проверить в первую очередь?

Восстановите доступ к Nextcloud после обновления, диагностировав ошибки SQL, проверив подключение к базе данных и безопасно завершив прерванные миграции.

Сброс утерянного пароля администратора Nextcloud с помощью OCC

Используйте команду OCC в Nextcloud для сброса пароля администратора из командной строки сервера, с инструкциями по заполнению полей для имен пользователей, разрешений и внешних сервисов авторизации.

Добавьте заголовок HSTS к HTTPS-конечной точке, обслуживающей Nextcloud.

Чтобы устранить предупреждение HSTS от Nextcloud, установите заголовок на Apache, NGINX или вашем TLS-прокси, а затем безопасно проверьте публичный HTTPS-ответ.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Устранение неполадок при установке приложения Nextcloud, сообщающего об отсутствии интернета.

Причины сбоев при установке приложений из App Store могут быть связаны с DNS, HTTPS, прокси-сервером, TLS или проблемами конфигурации самого сервера Nextcloud.

Снизьте скачки загрузки ЦП в предварительной версии Nextcloud с помощью запланированной очереди.

Перенесите обработку миниатюр в контролируемый фоновый режим, обрежьте неиспользуемые размеры предварительного просмотра и проверьте очередь, не перегружая сервер Nextcloud.

Переход от «обработки файлов» к синхронизации Nextcloud Desktop Sync

Найдите файл, правило исключения, проблему с подключением или состояние базы данных клиента, препятствующие синхронизации Nextcloud, а затем безопасно проверьте загрузку и скачивание файлов.

Устраните предупреждение Nextcloud OPcache, отрегулировав правильный лимит.

Найдите ограничение на использование PHP OPcache, вызывающее предупреждение Nextcloud, обновите правильную конфигурацию PHP для веб-приложений, безопасно перезапустите систему и проверьте результат.