
Continuei tendo problemas com um sistema de gerenciamento de documentos que estou tentando instalar, pois, na primeira etapa do processo de instalação, ocorreria um erro com:
Warning: Unknown: open(/tmp/sess_d39cac7f80834b2ee069d0c867ac169c, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Eu olhei em /tmp e vi que os arquivos sess_* têm as seguintes permissões
---------- 1 vanced vanced 1240 Jan 20 08:48 sess_d39cac7f80834b2ee069d0c867ac169c
Todos os arquivos da sessão têm esta aparência. Então, obviamente, eles são inutilizáveis pelo PHP e isso está me causando muitos problemas.
Como posso fazer com que o PHP defina as permissões corretas? Eu tentei mudar o diretório que o php.ini usa para /tmp/phpsessions e ocorre a mesma coisa. Os diretórios são a+rwx
.
Responder1
A /tmp
pasta é um espaço reservado padrão para arquivos de sessão. É melhor usar sua própria pasta de sessão personalizada
Se o seu host tiver permitido .htaccess
a permissão de substituição, você pode colocar a seguinte diretiva em sua .htaccess
pasta public_html
ou httpdocs
sub
php_value session.save_path '/yourpath/sessionfolder'
Se você NÃO estiver executando php
no suphp
modo, certifique-se de que a pasta possa ser gravada por outras pessoas ( 777
)
Responder2
Existe uma umask
configuração especial para esta conta? Parece que em algum lugar alguém pode ter configurado incorretamente. Deve retornar algo como:
% umask
0022
Responder3
Para encontrar o umask de um processo em execução:
https://stackoverflow.com/questions/165212/linux-getting-umask-of-an-already-running-process
Responder4
Tente mudar oumaskna aplicação real.
Encontre o arquivo index.php ou bootstrap e adicione no topo:
umask(0022);