Descobri porque, bem, alguém me deu a dica global.
Não é culpa do php ou do tmpfs. O culpado foi systemd e seu sistema de segurança PrivateTmp
.
Para aqueles que entram no mesmo problema que eu, o serviço php (e provavelmente alguns outros) tem a opção PrivateTmp
para true
no script systemd ( /usr/lib/systemd/system
).
Nesse caso, um novo /tmp
é criado e isolado do outro. Todos os dados salvos dentro são excluídos assim que o serviço é interrompido.
É uma medida de segurança, pois /tmp
pode conter muitas informações confidenciais e o script php nem sempre é seguro.
Para desativar isso, basta copiar o script dentro de /etc/systemd/system
(para evitar a substituição de suas alterações após uma atualização) e defina PrivateTmp
para false
.
Você também pode definir dois ou mais serviços para compartilhar o mesmo / tmp usando JoinsNamespaceOf
.
Para mais informações > man systemd.exec