Bleez / Bleez-Correios

Modulo de correios para magento 2
34 stars 28 forks source link

Erro no Checout. Não simula o frete. #17

Open franciscodias89 opened 7 years ago

franciscodias89 commented 7 years ago

Está aparecendo esse erro no momento do checkout. O que pode ser? O módulo não está calculando o frete e nem o prazo de entrega no checkout e nem na página do produto. Mas até agora à pouco estava funcionando. O que pode ser?

Notice: Undefined variable: r in /var/www/html/vendor/tcesarpinho/php-sigep/src/PhpSigep/Services/Real/CalcPrecoPrazo.php on line 138

saulfm08 commented 7 years ago

Desde que instalei não estou conseguindo calcular, aparece a mensagem impossível calcular o frete.... Não estou conseguindo identificar nenhuma mensagem de erro.... Como você fez pra arrumar o seu problema?

saulfm08 commented 7 years ago

Consegui resolver o problema!

Verifiquei nos meus logs do httpd (Apache do CentOS) que estava apresentando a seguinte mensagem de erro: PHP Fatal error: Class 'SoapClient' not found in /{root_directory}/vendor/tcesarpinho/php-sigep/src/PhpSigep/Services/Real/SoapClientFactory.php on line 61, referer: https://meusite.com.br/meu-produto-.html

Verifiquei através do phpinfo(); que a extensão SOAP do php56 estava instalada porem não estava habilitada (enable).

Se você usar o php56 assim como eu, você precisa ter instalado o pacote php56-php-soap e além disso precisa consertar o caminho da extensão que está errado no arquivo php.ini.

Abaixo o precisa ser feito para resolver o problema

1 - Instalar o soap: yum install php56-php-soap

2 - Encontrar o executável do soap; O comando abaixo vai listar o diretório de extensões do php então confira se o soap.so está lá.

php -i | grep extension_dir
No meu caso o diretório é o /opt/remi/php56/root/usr/lib64/php/modules/

verifique se o arquivo soap está lá ls -la /opt/remi/php56/root/usr/lib64/php/modules/soap.so

3 - Copie o caminho do arquivo soap.so completo.

4 - edite o arquivo php.ini ou o arquivo include do php.ini que habilita o soap, no meu caso era o "/opt/remi/php56/root/etc/php.d/20-soap.ini e comente ou remova a linha extension adicionando o novo valor: ; Enable soap extension module ;extension=soap.so extension='/opt/remi/php56/root/usr/lib64/php/modules/soap.so'

5 - Reinicie o httpd/apache e teste. service httpd restart

Pronto no meu caso funcionou!