Подпапки при сохранении сессий

Мне необходимо было указать точную папку, в которой бы лежали сессии. На сервере крутится один сайт на php в связке с Apache. В php.ini директива session.save_path была установлена на /tmp, поэтому я ожидал в папке /tmp увидеть файлы с сессиями, но увидел папки, внутри которых лежали сессии.

Мне думалось что во всем этом безобразии виноват Apache, но оказалось, что за это отвечает systemd, а именно директива PrivateTmp=true. Осталось её найти.
В папке /usr/lib/systemd ничего подходящего не нашлось, поэтому находим с помощью find.

sudo find / -mount -type f -exec grep -e "PrivateTmp" '{}' ';' -print

поиск показал что такая директива есть в /lib/systemd/apache2.service
Меняем там PrivateTmp=true на PrivateTmp=false и перегружаем сервисы.

systemctl daemon-reload
systemctl restart apache2

Сразу после этого все файлы сессий окажутся в одной папке без подпапок.

Источник:

why php can not see /tmp files

Leave a comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.