Problema do Apache ou PHP?

1

Aqui está o meu problema. Desculpe se o assunto foi discutido antes, mas eu não o encontrei. Além disso, desculpe se o lugar para minha pergunta não está aqui.

Eu tenho um site em um servidor usando o Apache 2.04 e o PHP 5. Durante a navegação do site, um script cria um arquivo .xml com 755 direitos e apache: proprietário do apache. O problema é que esse arquivo criado não é acessível de um arquivo .swf nem de uma janela do navegador diferente - tentando acessá-lo diretamente, digitando seu caminho absoluto.

Descobri que alterar proprietário para root: root, o arquivo .xml se tornou acessível em ambas as situações. Tentando alterar o dono ou direitos usando a função PHP, nenhuma mudança aconteceu.

Por favor me ajude e me diga o que posso fazer para corrigir esse problema. É uma configuração do PHP?

Obrigado antecipadamente.

    
por Horace 25.06.2010 / 09:48

3 respostas

1

não é um problema de configuração do php ou um problema do apache. apenas uma armadilha de programação.

Ao fazer o upload ou criar novos arquivos com PHP, sempre usará "umask" padrão. se você não forneceu umask correta ou CHMOD de arquivo, ele pode não ser acessado por outros aplicativos, mesmo o apache. (porque é feito pelo seu código)

aqui está o link para umask & chmod.
link
link

Tente resolver o problema com o código php. como: logo após você carregar ou criar novo arquivo, mude o chmod do arquivo.

chmod("/somedir/somefile", 0644); 

desta forma é melhor, eficiente, compatível.

    
por 25.06.2010 / 14:29
1

Talvez um diretório no caminho completo do arquivo xml não seja legível pelo usuário do apache.

Verifique as permissões de cada diretório do arquivo de caminho xml, você pode tentar ler o conteúdo do diretório:

sudo -u apache ls -l / GRÁFICOS /

sudo-u apache ls -l / GRAPHICS / video /

sudo -u apache ls -l / GRAPHICS / video / arquivos /

Talvez você devesse adicionar o usuário do apache ao grupo adequado, mas ele depende dos direitos do usuário nesse diretório.

    
por 25.06.2010 / 09:53
0

É possível que as permissões do servidor exijam 644 para scripts PHP, supondo que ele forneça um Internal Server Error

    
por 25.06.2010 / 09:53