O PHP fopen falha - não tem permissão para abrir o arquivo no modo de gravação

1

Eu tenho um servidor Apache 2.17 rodando em um Fedora 13. Eu quero ser capaz de criar um arquivo em um diretório.

Eu não posso fazer isso. Sempre que tento abrir um arquivo com php para escrever fopen (, 'w'), ele me diz que não tenho permissão para fazer isso.

Então eu verifiquei o arquivo httpd.conf em / etc / httpd / conf /. Diz o usuário apache, grupo apache. Então mudei de propriedade (chown -R apache: apache. *) Do meu diretório / www para o apache: apache. Eu também corro chmod -R 777 *

Além de saber o quão terrivelmente perigoso isso é, na verdade ainda me dá o mesmo erro, mesmo que eu permita até mesmo escrever em público!

    
por George 30.01.2011 / 19:35

1 resposta

1

Verifique seu log de erros, ele informará o problema. Eu acho que vai se resumir a uma dessas quatro coisas:
- PHP safe_mode está habilitado para o domínio. O log de erros deixará isso claro.
- Restrições PHP open_basedir estão em vigor. Novamente, o log de erros deixará isso claro.
Você tem a raiz do documento errado - Um diretório pai tem as permissons erradas.

Além disso, altere essas permissões o mais rápido possível. Se você estiver usando o PHP como um módulo do apache, se o seu site for comprometido, o invasor poderá escrever scripts PHP personalizados e executá-los à vontade através do navegador.

Se você estiver usando o FC13 e tiver o ACL habilitado, considere usar um setfacl em vez de chmod -R 777 - é um pouco mais seguro (especificado apenas para determinados usuários) e mais fácil de desfazer:
setfacl -R -m user:apache:rwx /path/to/webroot
setfacl -d -R -m user:apache:rwx /path/to/webroot .

    
por 30.01.2011 / 23:02