Não consigo escrever no diretório / var / www / com PHP, as permissões são 777

1

Não consigo entender onde está o problema. O Apache está sendo executado com o meu usuário padrão que realmente pode gravar esses arquivos.

O que devo fazer?

    
por Dardan Vrabie 01.09.2011 / 17:51

3 respostas

0

Uma possibilidade é que você tenha o SELinux ativado e os arquivos / diretórios que não podem ser gravados tenham sido originalmente criados em seu diretório pessoal (por exemplo, você descompactou-os lá e depois mudou para / var / www / html). O SELinux não permite que o apache modifique esses arquivos, mesmo que pareçam ter permissões de arquivo corretas. Tente desabilitar o SELinux. Se isso resolver o problema, você pode executar o SELinux permanentemente desativado ou trabalhar com as configurações do SELinux para obter esses arquivos e diretórios graváveis pelo apache.

    
por 01.09.2011 / 18:50
0

Verifique se o SElinux está ativado ou não usando o seguinte comando do su no console.

selinuxenabled && echo enabled || echo disabled

se ele retornar "ativado", desabilite-o usando o seguinte comando

echo 0 > /selinux/enforce

agora verifique se o apache pode gravar no diretório do usuário.

    
por 22.03.2012 / 06:46
0

Eu não gosto da idéia de desabilitar o SELinux .. prefiro habilitar o SELinux para que o Apache / PHP possa gravar onde você o ajudou.

Você pode simplesmente alterar o contexto SE do diretório para permitir que o httpd carregue o arquivo:

chcon -t tmp_t www/

Eu tive que fazer o mesmo para fazer com que os uploads do Wordpress Media funcionassem na minha pasta upload/ . Veja meu post no SU @ Wordpress não pode fazer upload de imagens devido a permissões

Espero que isso ajude!

    
por 11.12.2015 / 23:26