+ Responder ao Tópico



  1. #1
    hez4el
    Visitante

    Padrão Erro na função exec()

    Ae pessoal.
    Acho que é a primeira vez que eu posto uma pergunta. heheheheh

    Eu to executando um script em php para gerar uma exportação de meu banco de clientes. Porém eu crio um arquivo .txt no formato que eu preciso para o sistema interno e tento compacta-lo num arquivo tgz para reduzir o tempo de download e servir como transporte pois os navegadores tendem a exibir os txt´s e não salva-los como um download comum.

    Aqui vai um trecho do código:

    exec("tar -zcvf $zarq $arq");
    exec("rm -f $arq");

    $zarq é o arquivo tgz e $arq é o arquivo txt
    porém esta ocorrendo o seguinte erro

    Warning: exec(): Unable to fork [tar -zcvf exclientes2503.tgz CF00000025.txt] in /var/www/html/lojavirtual/admin/adms/lojavirtual/export/fexportcli.php on line 80

    alguém tem alguma idéia do q esta acontecendo.
    Obs: o PHP, o TAR, o GZIP e o APACHE estão funcionando aparentemente normalmente.

  2. #2
    LenTu
    Visitante

    Padrão Erro na função exec()

    dei uma man fork aki e dei uma olhada sobre....

    pelo erro o exec() naum tah conseguindo criar um processo "filho" .... agora o q seria issu....jah saum otros 500... hhuahauahua

    obrigatoriamente c tem q usar o exec ?

    num pode ser shell_exec, p_open, ou outas ???

    Ps: no man fork tem uma linha falando sobre Under Linux

  3. #3
    hez4el
    Visitante

    Padrão Erro na função exec()

    Po cara vc me deu uma luz, vo tentar usar o shell_exec.
    Apesar de que nunca tinha dado esse problema antes, mas talvez seja
    pq eu to usando um fopen() antes pra gravar um arquivo txt.
    Eu vo verificar depois posto aqui o resultado.

    Valew

  4. #4
    LenTu
    Visitante

    Padrão Erro na função exec()

    acho que descobri teu problema

    c deu um fclose(); ???

    se naum deu... o arquivo continuou aberto e consequetemente ele naum conseguiu abrir nada a partir dele....

    Qq coisa voltae...

    :wink:

  5. #5
    hez4el
    Visitante

    Padrão Erro na função exec()

    Ola
    Eu usei o fclose() sim...
    o problema deve ser outro.

    Mesmo assism valew

  6. #6

    Padrão Erro na função exec()

    se vc der um

    $ tar -zcvf exclientes2503.tgz CF00000025.txt

    na mao, ele vai funcionar???

    tenta fazer assim:
    Código :
    $comm=fopen("tar -zcvf $zarq $arq");
    while(!feof($comm)){ $rc.=fgets($comm); }
    echo $rc;

    e ve se vai

  7. #7
    hez4el
    Visitante

    Padrão Erro na função exec()

    Blz.. eu ia separar a execução do tar e do gzip executar um após o outro ao invés de usar o parametro -z no comando tar.

    Vou tentar a sua solução também. O jeito que der certo eu posto aqui.

    Valew.