[Resolvido] upload não realiza

Boa noite pessoal,

Eu abri um tópico em formulários a uns dias atrás
http://www.scriptcase.com.br/forum/index.php/topic,6889.0.html

Eu falava de um problema onde eu não consigo fazer o upload de arquivos. No meu caso, para banco de dados (mediumblob) mas também testei para diretório.

Mas de fato, o upload não acontece apenas no ambiente web, já acontecendo no sevidor local.

O problema começa no fato de o campo de uplado não mostrar o nome do arquivo selecionado, porém, se o ambiente for local, o upload realiza.

Estou hospedando o sistema do meu cliente, na locaweb, provedor o qual ele já usa por muitos anos, com hospedagem compartilhada e não tem nenhuma intenção de trocar. Entrei em contato com o suporte e nada foi resolvido, alegando a locaweb que não tem problemas de configuração junto ao servidor. Argumento esse, que não pude rebater, pois construímos uma aplicação simples de upload e o mesmos e realizou normalmente. (para diretório)

Eu gostaria de uma solução para meu problema.
Tnk’s

Dê permissão 777 no seu servidor de hospedagem. Acredito que esse problema seja permissão!

Abraço!

Como disse acima, meu upload é feito para banco de dados.
De qualquer maneira, eu dei permissão 777 no servidor quando testei o upload para diretórios.

A não ser que tenha alguma pasta temporária que isso deva ser feito mesmo quando o upload é feito para banco de dados. Isso eu desconheço. Caso seja isso, qual seria a pasta?

Eriton,

Você precisa liberar as permissões de escrita e leitura na sua pasta temporária (do servidor de produção), para que o upload seja efetuado com sucesso.

att,
Bernhard Bernsmann

Bernhard Bernsmann,

Essa pasta tem path específico?

Vai depender da maneira como o Sr. está publicando o sistema. Tente pesquisar por “tmp” em seu sistema.

att,
Bernhard Bernsmann

Bom,

Talvez eu esteja fazendo algo de errado mesmo, pois eu dei permissão total para a pasta tmp, mas eu não vejo o arquivo sendo salvo lá na hora do upload.
Eu digo quando eu carrego o arquivo no form, deixo a barra de progresso se preencher, antes de fazer o submit. No server local, o arquivo vai para tmp e quando o submit acontece, ele é removido.

Talvez seja minha estrutura então.

Meu servidor está assim:

public_html/sc_prod/ (aqui está todos arquivos que são baixados no produção do site da netmake)

public_html/sc_prod/prod/ (diretorio de produção)

public_html/sc_prod/file/nomedosistema/img/ (diretório de imagens. Cada sistema recebe o nome no seu diretorio)

public_html/sc_prod/tmp/nomedosistema/ (diretório de arquivos temporários. Cada sistema recebe o nome no seu diretorio)

pulic_html//sc_prod/file/diamond/doc/ (diretório de documentos. Cada sistema recebe o nome no seu diretorio)

public_html/sistemas/ (aqui estão os sistemas comuns que usam o prod do sc)

Nessas tentativas, detectei também que eu não consigo acessar o diagnosis.php que se encontra dentro de public_html/sc_prod/
Na verdade, o arquivo é acessado sim, mas a tela fica branca, não aparece dados.

Eu subi o ambiente de produção zipado para o servidor e descompactei la dentro, não sei se algo pode ter ocorrido errado.

Sugestão: Tente dar as permissões no /sc_prod e no /tmp.

att,
Bernhard Bernsmann

Já dei permissão 777 em todas as pastas (como teste) e nada.

Porém, resolvi pegar a V6 que tenho e criar uma aplicação nela para teste. A aplicação funcionou. O upload realizou perfeitamente.

Acha que posso estar com problema na instalação do meu sc V7 e algo esteja sendo gerado com erro na hora da publicação?

Interessante, faz então uma reinstalação com a relise mais atualizada. Desinstala e deleta a pasta Netmaker.

Vou fazer sim.

Tem um problema também, que não sei se é problema.
Quando baixei a V7, um atendente do chat do sc, me orientou instalar a v7 junto com a v6 (não sei se isso funciona bem)

Mas agora vou tirar a v6, apesar de ter uns projetos nela ainda. Mas depois vejo uma forma de instalar ela, para poder ter as duas rodando. A v5 ja descartei, não uso mais.

Aproveitando, vou dar uma geral na máquina. Tem tempo q não faço nada e até de malware estou desconfiando. Sei lá, vou cortar pela raiz.

Qual a versão do php que você está utilizando no Servidor de Hospedagem?

A Versão é a 5.3

Mas eu consegui solucionar o problema fazendo a publicação típica.

Simples assim.

Na estrutura do diretório mostrada em algumas respostas atrás, feita em publicação avançada, não funcionou.

Em estrutura de publicação típica funcionou. Talvez seja necessário ver se não existe algum problema relacionado a isso no scriptcase-prod-7.0.013-pt_br.

Prezados,

O problema ocorria, devido a falta de diretórios que estavam faltando no arquivo zip de publicação. Diretórios “file/doc” e “file/img”

A Versão 7.014 já corrige este problema.

Versão já disponível para download.

Yuri,

Desculpe, mas mesmo depois de ter baixado a versão nova, o upload não realiza pra mim.

Só estou conseguindo fazer o upload com publicação típica e ainda assim não é em qualquer servidor. A locaweb não aceita. Na hostgator já funciona.

Prezado Ériton Fróes,

por acaso verificou as permissões do servidor? Está 775 ou 777?.

Os diretórios file-> img , file -> doc e tmp estão com permissões totais.

OBs: A permissão 775 são usados em servidores dedicados.

Yuri,

Testei sim, com as permissões 777 e 755.

Não funciona.

Mas vamos avançando:

No link abaixo tem um formulário de teste. Um arquivo que já existe lá, foi feito em um servidor local. Minha máquina, em desenvolvimento. Quero que tente fazer upload e veja que ele não realiza.

Se precisar, posso te informar por e-mail, dados de acessos a ftp etc.

Vale lembrar também, apesar de não saber se tem ligação, que quando publico de forma avançada, não consigo acesso ao diagnosis.php.

http://www.ciclo7.hospedagemdesites.ws/sistemas/uploadTeste

Tá dando problema no driver Mysql da aplicação isso não tem nada haver com o upload.

Transactions not supported in 'mysql' driver. Use 'mysqlt' or 'mysqli' driver (mysql): select count(*) from upload where up_id = 1 (mysql): UPDATE upload SET up_md5 = '74272e215e72af5f8d2f6e59ba87d6dd', up_nome = 'Paginas 20130201-20130228.pdf' WHERE up_id = 1 (mysql): SELECT up_id, up_nome, up_md5 from upload WHERE (up_id = 1) order by up_id

Você precisa ver se a hospedagem dá suporte ao tipo de driver que você escolheu na sua aplicação.

Bom Saulo,

Isso é interessante, mas eu não sei nem onde se escolhe esse driver, muito menos qual está sendo utilizado. Pode me ajudar nisso?
De fato, estou usando configurações padrões que o sc fornece para as aplicações.

Tem um outro ponto que é o fato das aplicações não gerarem problemas quando publicadas de forma típica. Isso testei inclusive em um outro provedor. As demais aplicações que não usam upload também não apresentam problema. Sendo assim, parece que o problema é no upload sim. Posso estar muito enganado.

Na verdade ue me expressei mal, o driver não dá suporte a algum tipo de trasanção que o SC esta tentando fazer, ou há algum erro de lógica no banco.
Tem alguma fk nessa tabela de uploads?