J'essaie un exemple de service Web simple et j'obtiens cette erreur même si j'ai décommenté extension=php_soap.dll
dans le fichier php.ini
:
Erreur fatale: La classe 'SoapClient' ne figure pas dans C:\Program Files (x86)\EasyPHP-5.3.9\www\server.php à la ligne 2
Diagnostiquer
Recherchez les éléments suivants dans votre fichier de script
phpinfo();
Si vous ne trouvez pas Soap Client
défini sur enabled
comme ceci:
Réparer
Faites ce qui suit:
php.ini
dans votre dossier bin Apache, c.-à-d. Apache/bin/php.ini
;
du début de extension=php_soap.dll
phpinfo();
et vérifiez si vous voyez une image similaire à celle ci-dessus.D'un autre côté, si cela ne résout pas votre problème, vous pouvez vérifier les exigences pour SOAP ici . Vous trouverez également dans la section commentaire de bons conseils sur la connexion à https.
Pour installer SOAP dans PHP-7, procédez comme suit dans votre terminal Ubuntu:
Sudo apt-get install php7.0-soap
Pour installer SOAP dans PHP-7.1, procédez comme suit dans votre terminal Ubuntu:
Sudo apt-get install php7.1-soap
Pour installer SOAP dans PHP-7.2, procédez comme suit dans votre terminal Ubuntu:
Sudo apt-get install php7.2-soap
Pour AWS (RHEL):
Sudo yum install php56-soap
(56 voici la version 5.6 PHP - mettez votre version ici).
Pour installer SOAP sous PHP 5.5, exécutez les opérations suivantes sur votre terminal Ubuntu 14.04:
Sudo apt-get install php5.6-soap
service php5.6-fpm restart
service Apache2 restart
Voir si SOAP était activé:
php -m
(Vous devriez voir SOAP entre le texte renvoyé.)
Je devais courir
php-config --configure-options --enable-soap
en tant que root et redémarrez Apache.
Ça a marché! Maintenant, mon appel phpinfo () affiche la section SOAP.
Je (n'ai pas trouvé} _ la section SOAP
dans phpinfo()
et j'ai donc dû l'installer.
Pour information, l'extension SOAP
nécessite l'extension libxml
PHP. Cela signifie que le passage de --enable-libxml
est également requis selon http://php.net/manual/en/soap.requirements.php
Du panneau WHM
Installer SOAP 0.13.0
AVERTISSEMENT: "pear/HTTP_Request" est déconseillé au lieu de "pear/HTTP_Request2"
installer ok: channel: //pear.php.net/SOAP-0.13.0
Installer HTTP_Request2 (facultatif)
installer ok: channel: //pear.php.net/HTTP_Request2
Redémarrer les services »Serveur HTTP (Apache)
De la commande Shell
1.pear installer SOAP
2re pied
J'ai résolu ce problème sur PHP 7.0.22-0ubuntu0.16.04.1 nginx
Sudo apt-get install php7.0-soap
Sudo systemctl restart php7.0-fpm
Sudo systemctl restart nginx
Pour Docker *, ajoutez cette ligne:
RUN apt-get update && \
apt-get install -y libxml2-dev && \
docker-php-ext-install soap
*: Pour les images basées sur Debian, c'est-à-dire. ne fonctionnera pas pour les variantes Alpine.
Vous devez hériter de la classe nusoap.php
et la placer dans votre répertoire de projet. Vous pouvez la télécharger à partir de Internet .
Utilisez ce code:
require_once('nusoap.php');