Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gabrielfalieri

erro de permissão do servidor

Recommended Posts

Warning: move_uploaded_file(upload/PaperCutMF15-Pet Center Comercio e Participacoes S.A., BR.license): failed to open stream: Permission denied in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/Upload.php on line 40

Warning: move_uploaded_file(): Unable to move '/tmp/phpy3gdPW' to 'upload/PaperCutMF15-Pet Center Comercio e Participacoes S.A., BR.license' in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/Upload.php on line 40

Warning: copy(0): failed to open stream: Permission denied in /var/www/ecoprintq.com.br/public_html/portal/intranet/classes/ManipularArquivos.php on line 23

Como mudar as permissões do servidor??

Compartilhar este post


Link para o post
Compartilhar em outros sites

De permissão de escrita na pasta, mas cuidado para não dar permissão demais.

Com php

http://php.net/manual/pt_BR/function.chmod.php

As recomendas

// Tudo para o proprietario, leitura e execucao para os outros
chmod ("/somedir/somefile", 0755);

// Tudo para o proprietario, leitura e execucao para o grupo do prop
chmod ("/somedir/somefile", 0750);

Até um 0700 resolve

Leia
https://pt.stackoverflow.com/questions/2270/permiss%C3%A3o-negada-ao-mover-arquivo-com-move-upload-file-em-servidor-linux

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenso isso, não tem milagre, o camarada tem que dar permissão de escrita para você poder usar, ou manualmente ou entrando pelo terminal via SSH. Por isso unix/linux é oque é, 99.99% seguro.

Agora se atualizem ae, uma equipe onde um faz e outro sobe, não conhecem git, deploy, github, jenkins, conta de usuário no linux?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode usar a função chmod() para mudar as permissões de uma pasta, ele serve apenas para alterar permissões de arquivos, portanto, esta não é a melhor solução para seu problema.

Mas pelo FTP você pode definir manualmente a permissão 755 e verificar se o seu upload funciona. Você não precisa acessar o servidor via SSH para resolver isso.

Se a permissão 755 estiver definida corretamente, poste aqui o código da sua classe Upload.php

Cada coisa que a gente lê, leia lá em cima o que eu disse.

o camarada tem que dar permissão de escrita para você poder usar, ou manualmente ou entrando pelo terminal via SSH.

http://php.net/manual/en/function.chmod.php

Amigo altera a documentação fazendo um favor!

Aqui também

https://pt.wikipedia.org/wiki/Chmod

Caso um sistema tiver que criar centenas de pastas automaticamente todos os dias MKDIR, e nelas gravar meus arquivos, preciso de Permissão CHMOD, um sistema SAAS por exemplo, você fará isso manualmente, acredito que não né?

Cada caso é um caso, não posso chegar e dar permissão para uma pasta de UPLOAD chmod - R 0755 upload, onde pode conter dados sensíveis em subpastas no diretório.

Compartilhar este post


Link para o post
Compartilhar em outros sites

;) De boa!

Chega junto para ajudar a galera, discordâncias sempre vai haver no mundo chamado TI. B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não houvesse discordância no mundo, até hoje estaríamos achando que terra é centro da terra.

Enfim, ainda não consegui solucionar meu problema. Vou ter que entrar em contato com o pessoal dos EUA da empresa para poder liberar a permissão. Imagino que seja a única solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte, remova as pasta que criaram manualmente e deixe que o php se encarrega de criar

Adicionei

$path = '/upload/copia/';
mkdir( $path, 0755, true );

E faça isso pelo PHP, o usuário vai seo o www-data, e vê se cria automaticamente. Senão criar você não tem permissão pra nada.

<?php

 public function mudarFormatoArquivo($arquivo) {
	try {
	
		$path = '/upload/copia/';
		mkdir( $path, 0755, true );	
	
		copy($arquivo, "upload/copia/" + $arquivo);

		$resp = explode(".", $arquivo);

		$arquivoZip = "upload/copia/" + $resp[1] + ".zip";
		rename("upload/copia/" + $arquivo, $arquivoZip);

		return $arquivoZip;
	} catch (Exception $ex) {
		echo $ex->getMessage();
	}
}

http://forum.imasters.com.br/topic/554246-erro-de-permissao-do-servidor/

Compartilhar este post


Link para o post
Compartilhar em outros sites
Se você puder explicar exatamente o que você precisa fazer, talvez alguém tenha alguma alternativa.


Você realmente precisa que o arquivo fique salvo para uso posterior? Ou você só precisa do conteúdo dele no momento do upload?

Qual o tamanho médio dos arquivos? E com que frequência o upload vai ser utilizado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala meu caro. Bom dia.
O que o sistema está fazendo é o seguinte, está pegando o conteúdo do arquivo, fazendo o upload, após o upload do arquivo, pega o conteúdo desse arquivo e salvo no banco de dados com todos os dados desse arquivo.
Esse arquivo tem 1kb, só tem o uso para pegar o conteúdo do arquivo mesmo. Vai ser várias vezes, muitas vezes mesmo;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Entendi.


Por padrão, quando é feito upload de um arquivo, o PHP armazena ele na pasta temporária do sistema operacional. No seu caso, o que está dando erro é quando você tenta mover esse arquivo temporário para uma outra pasta (usando o move_uploaded_file/copy). Como você não precisa que o arquivo fique salvo para uso posterior, então você também não precisa movê-lo; apenas leia o conteúdo dele da pasta temporária mesmo, usando, por exemplo, a função file_get_contents...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.