Настройка PHP CLI memory_limit игнорируется или неверна

Я хочу обновить установку Nextcloud с помощью команды CLI (не через веб-интерфейс), но это не удается, так как требуется более 128 МБ памяти. Я проверил свою конфигурацию PHP CLI и увеличил лимит со 128 МБ до рекомендуемых 512 МБ. Я знаю, что у PHP CLI есть другой файл, чем у PHP CGI. Но я все равно изменил оба, чтобы у веб-интерфейса был тот же предел.

Однако это игнорируется. Программа обновления все еще не работает по той же причине. Бег php -i и поиск параметра memory_limit подтверждает, что все еще применяется 128 МБ. Таким образом, мое изменение было явно проигнорировано.

Установлено несколько версий: PHP 7.2, 7.4, 8.0 и другие. 7.4 по умолчанию в системе. Я изменил файл для 7.4 и 8.0 как CGI, так и CLI. У меня есть отдельный файл /etc/php/7.4/cli/conf.d/z_custom.ini (и аналогичный), содержащий мои локальные изменения значений по умолчанию. php -i также подтверждает путь к файлу конфигурации: /etc/php/7.4/cli/php.ini Полный вывод:

Configuration File (php.ini) Path => /etc/php/7.4/cli
Loaded Configuration File => /etc/php/7.4/cli/php.ini
Scan this dir for additional .ini files => /etc/php/7.4/cli/conf.d
Additional .ini files parsed => /etc/php/7.4/cli/conf.d/10-mysqlnd.ini,
/etc/php/7.4/cli/conf.d/10-opcache.ini,
/etc/php/7.4/cli/conf.d/10-pdo.ini,
/etc/php/7.4/cli/conf.d/15-xml.ini,
/etc/php/7.4/cli/conf.d/20-apcu.ini,
/etc/php/7.4/cli/conf.d/20-bcmath.ini,
...
/etc/php/7.4/cli/conf.d/20-xsl.ini,
/etc/php/7.4/cli/conf.d/20-zip.ini,
/etc/php/7.4/cli/conf.d/z_custom.ini

Значение по умолчанию из самого php.ini также игнорируется, потому что это будет 128 МБ для CGI и -1 (неограниченно!) Для CLI. Таким образом, все, что здесь установлено, нигде не настраивается.

Нужно ли мне перезагружать сервер, чтобы применить изменения к файлу конфигурации PHP? Это не контекст веб-сервера, и для CLI не используется FastCGI. Я не знаю ни одной «службы PHP», которую мне нужно было бы перезапустить, чтобы применить новые настройки.

0

Добавить комментарий

Ваш адрес email не будет опубликован.