acuri Postado Setembro 25, 2010 Denunciar Share Postado Setembro 25, 2010 Olá pessoal, sou nov aqui no forum, e não sou programados e não tenho conhecimento em php, conheço no máximo alguma coisa em html, por isso peço ajuda para tentar solucionar um problema em site da minha empresa.Tenho um site, e ano passado contratei um programador para fazer uma página de admin, para uploads e downloads de arquivo acima de 10mb, para nossos clientes.Depois de alguns teste iniciais, tive que trocar para um provedor que pudesse hospedar nosso site e essa página admin sem limites de uploads e downloads.No início tudo ia bem e o sistema funcionava perfeitamente, mas de uns meses prá cá estou com um problema que não consigo resolver, pois o progranador que fez a página sumiu, depois de eu ter falado com sobre o problema e ele insistir que o problema era no provedor, que entrei em contato e me provaram através de páginas teste que o problema é na programação/configuração.O problema é que apesar de conseguir fazer upload de um arquivo de 50MB por exemplo, não se consegue baixá-lo, posi depois de iniciar o download ele para em 31MB, e isso acontece com qualquer arquivo com mais de 31MB.Já tentei com outro programador que disse que o problema está no provedor que está limitando o download, mas entrei em contato novamente e me falaram que não tem limites, e reafirmaram que o problema está na programação.Diante desse impasse resolvi pedir ajuda a alguém que tenha mais conhecimento, assim aqui estou.Se alguém puder ajudar, me diga o que tenho que postar aqui, que tipo de arquivo devo pegar no site via ftp, ou outra informação.Agradeço desde já, e desculpe o post longo e se tiver postado no local errado.Alberto Citar Link para o comentário Compartilhar em outros sites More sharing options...
ESerra Postado Setembro 25, 2010 Denunciar Share Postado Setembro 25, 2010 O arquivo é enviado inteiro para o servidor (se baixar pelo FTP está normal)? O download é controlado pelo PHP? Se for o script pode estar estourando o limite de memória do servidor, logo é finalizado e o download é encerrado... Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 25, 2010 Autor Denunciar Share Postado Setembro 25, 2010 Olá ESerra, Obrigado.Sim, o arquivo é enviado inteiro para o servidor, e os uploads e downloads são feitos através diretamente pela página admin, e assim acredito que utilizando o PHP.Como havia falado, antes funcionava normalmente com arquivos grandes inclusive.Pelo FTP consigo subir e baixar qualquer arquivo.Como essa nossa página não está funcionando, quando preciso enviar um arquivo grande para um cliente, faço uma página HTML simples com links dos arquivos previamente subidos pelo FTP, e funciona sem problema.Por isso acredito que o problema é alguma coisa no PHP. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 26, 2010 Denunciar Share Postado Setembro 26, 2010 Você não poderia postar o código da página de download aqui? Ficaria muito mais fácil de te ajudar... Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 26, 2010 Autor Denunciar Share Postado Setembro 26, 2010 Olá Stoma,Como havia falado não conheço de PHP.Vi pelo ftp que na pasta do admin tem vários arquivos PHP, tipo usuario.php, upload-usuario, c.php, baixa.php, configuacao.php, e outros.Qual seria o código fonte.Também como posto aqui?Abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 26, 2010 Autor Denunciar Share Postado Setembro 26, 2010 Não sei se ajuda, mas ao tentar baixar um arquivo de 53MB, ele para em 31MB, e escreve um log de erro assim:[26-Sep-2010 11:35:17] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 33034241 bytes) in /home/digigrap/public_html/admin/arquivo.php on line 29 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 26, 2010 Denunciar Share Postado Setembro 26, 2010 Pelo jeito o problema está no arquivo "admin/arquivo.php". Tente adicionar isto no topo da página arquivo.php:ini_set("memory_limit","80M");obs: não tenho certeza se esta seria a melhor opção... Citar Link para o comentário Compartilhar em outros sites More sharing options...
ESerra Postado Setembro 26, 2010 Denunciar Share Postado Setembro 26, 2010 Não sei se ajuda, mas ao tentar baixar um arquivo de 53MB, ele para em 31MB, e escreve um log de erro assim:[26-Sep-2010 11:35:17] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 33034241 bytes) in /home/digigrap/public_html/admin/arquivo.php on line 29É, foi como eu falei, está chegando ao limite de uso de memória do servidor... tente o que o outro usuário passou, mas é bem provável que não funcione se o servidor for compartilhado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 27, 2010 Autor Denunciar Share Postado Setembro 27, 2010 Olá Stoma,Verifiquei o arquivo.php, e ele já está com essa linha no topo da págima.Olá ESerra, Realmente não adiantou, continua com o mesmo problema.Pessoal depois de insistir com o provedor, veja abaixo a resposta deles, por favor me digam o que acham, obrigado:O limite de 32mb de memória RAM para scripts PHP é o padrão de mercado. Todas as empresas de hospedagem no Brasil, nos Estados Unidos e na Europa operam com esse valor (ou próximo dele). Essa limitação é essencial para que os servidores de hospedagem possam funcionar corretamente.É incorreta a estratégia de depender do preenchimento integral de um arquivo na memória RAM para serví-lo. Essa operação só seria possível em um servidor dedicado e ainda assim, passível de sofrer as interrupções de download caso muitos downloads sejam feitos simultaneamente ou arquivos maiores que o espaço em RAM disponível sejam solicitados para download.Em resumo, o software em PHP desenvolvido para você é insustentável: ele depende de recursos que nenhum ambiente de hospedagem irá prover.Portanto, é necessário que seu programador corrija o problema e refatore o software de forma que ele possa funcionar de forma sustentável de acordo com os padrões de mercado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 27, 2010 Denunciar Share Postado Setembro 27, 2010 (editado) Realmente é necessário que o download seja feito por php?? Pois creio que eles não estejam errados, imagina baixar um arquivo de 100mb e vários usuários baixando... Editado Setembro 27, 2010 por Stoma Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 27, 2010 Autor Denunciar Share Postado Setembro 27, 2010 Olá Stoma,Na verdade conheço outras companhias no mesmo ramo da nossa (produtora) que utilizam eese formato para os clientes fazerem uploads e downloads.Algumas companhias utilizam o ftp multiusuário mas alguns clientes ainda são bastante leigos e muitas vezes se enrolam com o ftp.Essa foi uma solução mais interativa, que quando ele entra na página faz o login e lá está o arquivo que ele vai baixar ou se ele precisar nos enviar um arquivo que não dê para anexar em email.Anteriormente eu subia o arquivo por ftp, e fazia uma página em html com o link, mas o problema nesse caso que só eu posso fazer toda essa operação, e com a página admin (em php no caso) outras pessoas cadastradas podem utilizar.Ainda não sei bem como vou revolver isso.Obrigado de qualquer maneira. Citar Link para o comentário Compartilhar em outros sites More sharing options...
ESerra Postado Setembro 27, 2010 Denunciar Share Postado Setembro 27, 2010 Nesse contexto você poderia colocar o link direto para o arquivo, ai o PHP não gerenciaria o download e tudo funcionaria, ou caso, haja algum tipo de restrição (evitar qua qualquer um com o link direto baixe), quando o cara solicitar um download, copiar o arquivo para uma pasta temporária e forçar o cara a baixar de lá, após X horas o sistema apaga a cópia do arquivo da pasta temporária e pronto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 27, 2010 Denunciar Share Postado Setembro 27, 2010 (editado) Mas e se você utilizasse o portal de admin para enviar o arquivo, e quando o usuário fosse fazer o download você apenas disponibilizasse o link de download (sem ser o php gerenciando o download/upload)? Isso tudo por php, o que iria mudar é que não seria mais o php que gerenciaria o download... Editado Setembro 27, 2010 por Stoma Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 27, 2010 Autor Denunciar Share Postado Setembro 27, 2010 ESerra e Stoma,A idéia de colocar só o link para o donwload é muito boa, só que nesse caso eu não sei como fazer, acho que vou ter que contratar os serviços de um desenvolvedor, pois só conheço html, não sei nem por aonde começar em PHP.Só para eu enterder, tem como utilizar a página existente para fazer o upload e ele disponibilizar o link automaticamente na página.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
ESerra Postado Setembro 27, 2010 Denunciar Share Postado Setembro 27, 2010 Só para eu enterder, tem como utilizar a página existente para fazer o upload e ele disponibilizar o link automaticamente na página.Sim, perfeitamente possível, se o PHP está gerenciando os download, muito provavelmente exista um banco de dados, partindo desse princípio dá pra fazer desse modo, se não houver também dá pra fazer (mas provavelmente o desenvolvedor tenha relacionado os arquivos a algum registro em um BD)... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 28, 2010 Denunciar Share Postado Setembro 28, 2010 Exato! Se foi feito utilizando banco de dados para guardar os links de download, somente precisa criar uma página para obter estes links para cada usuário... Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 28, 2010 Autor Denunciar Share Postado Setembro 28, 2010 Mas nesse caso volta a aquele caso que falei que fazia.Tenho que subir os arquivos ou pelo admin ou pelo ftp e fazer uma página com o link cada vez que tiver um novo arquivo a ser baixado, aí essa página admin aonde os upoloads e downloads são feito em um só lugar e os link gerados automaticamente deixa de ter sentido, correto? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Stoma Postado Setembro 28, 2010 Denunciar Share Postado Setembro 28, 2010 Mas utilizando PHP você faria tudo dinâmico, e não precisaria criar as páginas (somente uma que buscasse as informações no banco de cada usuário) pois o sistema já faria dinamicamente verificando o que cada usuário pode fazer download (buscando do banco de dados)... Citar Link para o comentário Compartilhar em outros sites More sharing options...
acuri Postado Setembro 28, 2010 Autor Denunciar Share Postado Setembro 28, 2010 Stoma e ESerra,Obrigado pelos esclarecimentos.Será que é possível eu contratar aqui os serviços para a modificação ou adaptação dessa nossa página admin para funcionar dessa maneira, não tenho certeza se a pessoa que conheço tem condições de resolver, já que ele não tinha me dado nenhuma solução parecida. Citar Link para o comentário Compartilhar em outros sites More sharing options...
ESerra Postado Setembro 28, 2010 Denunciar Share Postado Setembro 28, 2010 Vou mover seu tópico para a área de freelancers, aproveite e deixe algum e-mail para o povo entrar em contato.Movendo PHP » Freelas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.