Eu tinha um site funcionando bem no Debian 7 + PHP 5.6 e recentemente decidi atualizar minha instalação do Debian para o Debian 8. Tudo correu bem, exceto por uma pequena coisa.
Ao executar o mesmo código, parece que o PHP não consegue escrever nada em /tmp/
, agora recebo mensagens como:
errno: 2,
errstr: "ZipArchive::extractTo(): Permission denied",
errcontext: {
Filepath: "/tmp/phpVTUxDh",
Options: null,
Zip: {
status: 0,
statusSys: 0,
numFiles: 12,
filename: "/tmp/phpVTUxDh",
comment: ""
},
Status: true
Aparentemente, o método extractTo()
está tendo dificuldades para gravar \tmp
. Há alguma alteração específica no sistema que possa estar causando isso? E o novo systemd PrivateTmp
?
Eu tentei adicionar PrivateTmp=false
aos arquivos:
/etc/systemd/system/multi-user.target.wants/lighttpd.service
/etc/systemd/system/multi-user.target.wants/php5-fpm.service
No entanto, não parece fazer nenhuma diferença lá.
De qualquer forma, algum motivo específico pelo qual \tmp
agora está sempre vazio? Além disso, onde está o novo local do tmp?
Obrigada.
Algumas coisas para verificar:
1) Usuário do sistema que você executa
php-fpm
como2) AppArmor:
se ativado:
3) Permissões em
/tmp
:4)
open_basedir
nas configurações do PHP:Além disso, quando você modificar o arquivo de unidade systemd, tente recarregá-lo primeiro:
systemctl daemon-reload
e reiniciephp-fpm
.