Autor Tópico: Problema com pasta tmp em produção  (Lida 2406 vezes)

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Problema com pasta tmp em produção
« Online: Agosto 31, 2012, 07:30:28 am »
Amigos, mudei um sistema de provedor e após isso passei a receber uma mensagem de erro, conforme abaixo:

is_writable() [<<http://function.is-writable>http://function.is-writable>function.is-writable]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/var/www/softideias/:/usr/share/:/var/www/tmp/:/usr/local/Zend/)

O erro acontece num form que faz uso da 'sc_mail_send'.
Pelo que me parece, meu provedor anterior tinha um diretório tmp no raiz do servidor, com permissão suficiente para os sistemas escreverem. No novo provedor não existe o diretório /tmp e sim /var/www/tmp. Tenho que mudar esse caminho no sistema, como faço?
Olhei o prod e o caminho do tmp que consta lá é totalmente diferente, e mesmo mudando, o erro permanece.
Não é nada relativo a permissão, apenas não existe /tmp que é como o sistema SC6 usa. Lá só existe /var/www/tmp, e eu preciso fazer com que o sistema use este diretório.

Alguém já passou por isso?

Obrigado!
Rodrigo
Rodrigo Araújo

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Problema com pasta tmp em produção
« Responder #1 Online: Agosto 31, 2012, 08:15:24 am »
cria n araiz de seu website a pasta tmp com permissão 777.

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Problema com pasta tmp em produção
« Responder #2 Online: Agosto 31, 2012, 08:23:10 am »
Haroldo, já criei tanto na raiz da hospedagem como na raiz do diretório do sistema, não teve jeito, o erro permanece.
Rodrigo Araújo

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Problema com pasta tmp em produção
« Responder #3 Online: Agosto 31, 2012, 08:26:31 am »
seu php.ini está  configurando arquivos temporários para uma pasta que não existe, verifique seu php.inii, veja também session_path

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Problema com pasta tmp em produção
« Responder #4 Online: Agosto 31, 2012, 08:28:32 am »
O servidor não é meu, é uma hospedagem contratada, não tenho como mudar.
Rodrigo Araújo

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Problema com pasta tmp em produção
« Responder #5 Online: Agosto 31, 2012, 08:35:41 am »
passe o erro para o suporte tecnico da hospedagem, pois o problema esta no ambiente.

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Problema com pasta tmp em produção
« Responder #6 Online: Agosto 31, 2012, 08:38:23 am »
Haroldo, eu bem que tentei, mas não soube argumentar corretamente por desconhecer o código.
O webmaster me mandou modificar o meu código, que segundo a mensagem de erro está tentando acessar o diretório "/tmp" e isso não é permitido.
O que eu devo solicitar? Qual o caminho real que o sc exige?
Rodrigo Araújo

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Problema com pasta tmp em produção
« Responder #7 Online: Setembro 01, 2012, 10:29:37 am »
geralmente as hospedagens permitem trocar algumas variáveis do php.ini  por domínio, se esta não permite, troque a hospedagem.

Tente um cloud computer, muito melhor.

Você consegue cloud computer gratuito na Amazon.

rrma

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 816
  • Quem com porcos se mistura tanto bate até que fura
    • Email
Re:Problema com pasta tmp em produção
« Responder #8 Online: Setembro 01, 2012, 07:34:09 pm »
Segue a resposta do webmaster com a solução do problema.

Seu CMS faz uso da função 'sys_get_temp_dir()' que sempre retorna '/tmp' que é o diretório de sistema temporário padrão do PHP, mas não da hospedagem. Para a hospedagem são alterados valores de variáveis de diretórios temporários para upload, sessions e algumas outras, mas essa função em específico não retorna outro valor a não ser '/tmp'

        Seu CMS funciona em outra hospedagem simplesmente porque não é setada a configuração de segurança "open_basedir", como o Sr. mesmo pode ver no php.info que fez referência em outro email.

        Incluímos ao open_basedir de seu site o diretório '/tmp' e aparentemente está normalizado, favor testar.


Nos códigos abaixo, o SC faz referência absoluta ao diretório /tmp do servidor:
/gbarbosa/_lib/prod/third/adodb/tests/test.php: $ADODB_CACHE_DIR = dirname(TempNam('/tmp','testadodb'));
/gbarbosa/_lib/prod/third/adodb/tests/testcache.php:$ADODB_CACHE_DIR = dirname(tempnam('/tmp',''));
/gbarbosa/_lib/prod/third/adodb/adodb.inc.php: $ADODB_CACHE_DIR = '/tmp'; //(isset($_ENV['TMP'])) ? $_

Realmente um cloud é bem melhor, já usei um da locaweb por 1 ano na época do sc5, que inclusive usava online lá. No momento o custo e trabalho que um cloud exige não estão valendo a pena pra mim.

Gostaria de agradecer ao Haroldo pelas dicas e também ao Alexandre Bühler (do provedor Simão&Bühler onde também tenho conta), que em off, tentou me ajudar bastante.

Rodrigo
Rodrigo Araújo