eduardokum / laravel-boleto

Pacote para gerar boletos e remessas
MIT License
606 stars 395 forks source link

Não guarda Remessas em Ubuntu 18.04 #597

Closed jorgehernandezch closed 1 year ago

jorgehernandezch commented 3 years ago

Estou usando o metodo ->save() para guardar a remessa e no ambiente local ele funciona perfeitamente: ele está guardando a remessa numa pasta remessas dentro da pasta public, mas em produção não está guardando.

Verifique permissões de pasta (755), vefifiquie o Path mas não guarda.

Coloco o código para ver se alguem tem uma solução.

        $pdf = new \Eduardokum\LaravelBoleto\Boleto\Render\Pdf();
        $pdf->addBoleto($sicredi);
        $pdf->gerarBoleto($pdf::OUTPUT_DOWNLOAD);

        $nome='remessa_'.$recibos[0]->cliente.'_'.$recibos[0]->idrecibo.'_'.$idremessa.'.txt';

        $remessa->addBoleto($sicredi);
        $remessa->save(public_path().DIRECTORY_SEPARATOR.'remessas'.DIRECTORY_SEPARATOR.$nome);

Pasta: /public/remessas

Como comentei, o código funciona perfeitamente no ambiente local e no ambiente de produção também funciona mas não guarda a remessa.

Obrigado pela ajuda.

nobios commented 2 years ago

Com as permissões 755 ele só consegue gravar na pasta se o dono da pasta for o usuário que executa o apache. No ubuntu o usuário que executa o apache é o www-data.

Então além de olhar as permissões precisa verificar o usuário que está como dono da pasta.

  1. Muda o dono da pasta para www-data, se tiver acesso a terminal:

chown www-data remessas

  1. Ou mudar para 777 e com isso todos poderão gravar.

chmod 777 remessas