Estou tentando um exemplo simples de serviço da web e recebo esse erro, embora não tenha comentado extension=php_soap.dll
no php.ini
arquivo:
Erro fatal: Classe 'SoapClient' não encontrada em C: \ Arquivos de Programas (x86) \ EasyPHP-5.3.9 \ www \ server.php na linha 2
php
soap
fatal-error
Figen Güngör
fonte
fonte
Respostas:
Diagnosticar
Procure o seguinte dentro do seu arquivo de script
Se você não conseguir
Soap Client
definir o conjunto da seguinteenabled
forma:Consertar
Faça o seguinte:
php.ini
na pasta apache bin, ou seja,Apache/bin/php.ini
;
do início deextension=php_soap.dll
phpinfo();
novamente o e verifique se você vê uma imagem semelhante à acimaPor outro lado, se isso não resolver o seu problema, convém verificar os requisitos para SOAP aqui . Também na seção de comentários, você pode encontrar bons conselhos sobre como conectar-se a https.
fonte
;extension=php_openssl.dll
se o WSDL que você está tentando alcançar está sob o protocolo httpsextension=soap
o truque.SoapClient
turma ainda não foi encontrada. Eu o vejo habilitado no phpinfo (), a extensão está habilitada, o openssl também está habilitado, está tudo bem, mas a classe não foi encontrada. Eu uso o Wampserver 3.0 e o PHP 5.6 e reiniciei o Apache, mas não resolve o problema. Por favor ajude.Para instalar o SOAP no PHP-7, execute o seguinte no seu terminal Ubuntu:
Para instalar o SOAP no PHP-7.1, execute o seguinte no seu terminal Ubuntu:
Para instalar o SOAP no PHP-7.2, execute o seguinte no seu terminal Ubuntu:
Para instalar o SOAP no PHP-7.3, execute o seguinte no seu terminal Ubuntu:
fonte
sudo apt-get install php-soap
sudo apt-get install php7.2-soap
Para AWS (RHEL):
(56 aqui é a versão 5.6 do PHP - coloque sua versão aqui).
fonte
sudo yum install php56w-soap
! Eu esqueci o w, e isso instala, e ainda não funcionou. Demorou um pouco para descobrir isso, mas agora funciona.Para instalar o SOAP no PHP5.6, execute o seguinte no seu terminal Ubuntu 14.04:
Veja se o SOAP foi ativado:
(Você deve ver SOAP entre o texto retornado.)
fonte
Eu tive que correr
como root e reinicie o apache.
Isso funcionou! Agora minha chamada phpinfo () mostra a seção SOAP.
fonte
reboot
deve-se mencionar que sua reinicialização apache, não a reinicialização do servidor.Como não encontrei a
SOAP
seção,phpinfo()
tive que instalá-la.Para informações, a
SOAP
extensão requer alibxml
extensão PHP. Isso significa que a transferência--enable-libxml
também é necessária, de acordo com http://php.net/manual/en/soap.requirements.phpNo painel WHM
Instale o SOAP 0.13.0
AVISO: "pear / HTTP_Request" foi preterido em favor de "pear / HTTP_Request2"
instale ok: channel: //pear.php.net/SOAP-0.13.0
Instale HTTP_Request2 (opcional)
instale ok: channel: //pear.php.net/HTTP_Request2
Reinicie os serviços »Servidor HTTP (Apache)
Comando shell
1.pear instalar SOAP
2.reboot
fonte
Resolvi esse problema no PHP 7.0.22-0ubuntu0.16.04.1 nginx
fonte
Para o Docker *, adicione esta linha:
*: Para imagens baseadas em debian, ie. não funcionará para variantes alpinas.
fonte
Para usuários do XAMPP , abra o
php.ini
arquivo localizadoC:/xampp/php
e remova-o;
do início deextension=soap
. Então reinicie o Apache e pronto!fonte
Você precisa herdar a
nusoap.php
classe e colocá-la no diretório do projeto, pode fazer o download da Internet .Use este código:
fonte
No Centos 7.8 e PHP 7.3
fonte