Назад | Перейти на главную страницу

Сервис systemd «phpsessionclean» не будет работать в Ubuntu 18.04 (после обновления с Ubuntu 14.04)

После того, как мы обновили все наши устаревшие серверы Ubuntu 14 до Ubuntu 18, файлы сеанса PHP перестали очищаться. Я не уверен, что это вызвано самим обновлением, но на всех других наших серверах, которые были созданы как Ubuntu 18 или обновлены с Ubuntu 16, все работает должным образом.

Проблема в том, что systemd служба phpsessionclean не запускается. Вот ошибка, которую он дает мне, одинаковую на всех указанных серверах:

systemd[22064]: phpsessionclean.service: Failed to set up mount namespacing: No such file or directory
systemd[22064]: phpsessionclean.service: Failed at step NAMESPACE spawning /usr/lib/php/sessionclean: No such file or directory

В /usr/lib/php/sessionclean скрипт определенно существует, и я не вижу ничего необычного в его разрешениях.

Мы на PHP7.2 установлен с использованием подходящий из ppa:ondrej/php

Что я пробовал:

На данный момент я не знаю, что еще попробовать / где еще посмотреть. Не удалось найти никого, у кого есть похожие проблемы. Но это очень последовательное поведение на всех наших серверах, обновленных с Ubuntu 14.

Я рассматриваю обходной путь:

Удалить systemd услуги и изменения /etc/cron.d/php из:

09,39 *     * * *     root   [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

кому:

09,39 *     * * *     root   if [ -x /usr/lib/php/sessionclean ]; then /usr/lib/php/sessionclean; fi

... и очистите сеансы с помощью задачи cron (в настоящее время она не очищается, поскольку не выполняется при проверке systemd).

Но мне любопытно узнать, почему установленная служба не запускается. Спасибо!

systemctl редактировать phpsessionclean.service

[Service]
PrivateTmp=false
NoNewPrivileges=yes
ProtectHome=false
ProtectSystem=false