nfephp-org/sped-nfe

ERROS

i9host opened this issue · 9 comments

Estou tentando a dias entrar no Grupo de Suporte (nfephp@googlegroups.com) porém não fui liberado/autorizado a participar de tal grupo. Como iremos sanar dúvidas referente a ERROS que enfrentamos?

Consigo ler o certificado, gerar um XML, assinar esse XML, e ao tentar enviar o XML recebo o erro
file_exists(): open_basedir restriction in effect. File(certs/siwlFtamTG.pem) is not within the allowed path(s): (/var/www/vhosts/teste.com.br/:/tmp/)

Não sei qual é a sua configuração (de ambiente) ai !!
Ao tentar enviar uma requisição para o webservice o cURL necessita do certificado em formato PEM em DISCO !!
Ao tentar salvar temporariamente (e de forma encriptada) os certificados em formato pem, normalmente usamos a pasta /tmp (no linux). Que é para onde vão os arquivos temporários que não serão mantidos.

Alguma coisa está errada ai "/var/www/vhosts/teste.com.br/:/tmp/"

Se for um ambiente compartilhado terá de ver como poderá fazer algo assim ou deverá alterar a pasta onde são salvos os certificados, para uma com permissão de escrita. Voce pode alterar isso pelos métodos da classe Soap

https://github.com/nfephp-org/sped-common/blob/master/docs/Soap/SoapCurl.md

Olá @robmachado obrigado por responder e agradeço por ter aceitado minha solicitação ao grupo de Suporte.

Minha configuração é um ambiente Linux Compartilhado (PLESK).

Tem como extrair o certificado PFX para PEM através do PHP?

Referente ao Caminho, é esse mesmo que retorna no Erro

@i9host leu o link da documentação amigo ?
https://github.com/nfephp-org/sped-common/blob/master/docs/Soap/SoapCurl.md#function-settemporaryfolderfolderrealpathvoid

E ambiente compartilhado é complicado voce não sabe o que ta rolando dentro, tem permissão minima ou nula pra configurações, fora que o amigo que está utilizando junto ta pouco se importando com boas praticas.

A extração de PFX para pem é feita pela biblioteca de forma automática!

Eu não uso ambientes compartilhados na web, na verdade NUNCA usei, então não sei detalhes disso.

Quanto a troca da pasta onde ficam os certificados é feita pela Classe SoapCurl,

Olá @nagahshi . Se eu li a documentação? Sim! E aproveitando, muito mau documentada!

O ambiente é compartilhado, porém os recursos são dedicados! Então não tem problema se um tentar utilizar mais recurso do que outro.

Mas obrigado pela interação

Olá @robmachado , obrigado mais uma vez por contribuir.

estou verificando a possibilidade de alterar a pasta open_basedir no PHP.

Abraços.

Olá @i9host, bom dia.
Que comentário infeliz sobre a documentação.
Precisamos de pessoas construtivas por aqui. Se não quer contribuir, não é bem vindo.

Olá @rabraga , rs.

Se pra você minha crítica não é um comentário construtivo, então você que não deveria ser bem vindo.

Mas obrigado pela sua "grande ajuda" comentando sobre meu problema.

Olá @nagahshi . Se eu li a documentação? Sim! E aproveitando, muito mau documentada!

O ambiente é compartilhado, porém os recursos são dedicados! Então não tem problema se um tentar utilizar mais recurso do que outro.

Mas obrigado pela interação

Uso a biblioteca em ambiente compartilhado também, isso não será problema. O linux foi concebido para oferecer um ambiente multi usuário de forma segura quando corretamente configurado. O método que altera a pasta temporária deve resolver sua questão.
Seria muito bom se você contribuísse com a documentação para deixar ela melhor. Aguardamos seu Pull Request.