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.