web-dev-qa-db-fra.com

Comment installer une extension de savon?

Comment installer du savon?

J'ai eu cette erreur:

Erreur fatale: la classe 'SoapClient' est introuvable dans /home/user/mysite.com/path/to/file.php à la ligne 16

J'héberge mon site dans DreamHost et ils ne prennent en charge aucune installation tierce.

METTRE À JOUR:

J'ai copié le fichier php.ini avec ce script: http://sxi.sabrextreme.com/dh-phpini

J'utilise une API d'un site Web et cela dit quelque chose comme ceci:

#######################################################################
## You need to enable the following extensions in your PHP.ini file  ##
## php_openssl.dll          ##
## php_soap.dll             ##
#######################################################################

et voici la liste des extensions que mon fichier php.ini a:

extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_Gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_Java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
**extension=php_openssl.dll**
;extension=php_Oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_Zip.dll

Le problème est que l'extension php_soap.dll n'y est pas trouvée.

42
Loreto Gabawa Jr.

Pour les fenêtres

  1. Recherchez extension=php_soap.dll dans php.ini et supprimez le point-virgule de commentaire situé au début de la ligne. Finalement, recherchez soap.ini dans le répertoire conf.d.

  2. Redémarrez votre serveur.

Pour Linux

Ubuntu:

PHP7

Apache

Sudo apt-get install php7.0-soap 
Sudo systemctl restart Apache2

PHP5

Sudo apt-get install php-soap
Sudo systemctl restart Apache2

OpenSuse:

PHP7

Apache

Sudo zypper in php7-soap
Sudo systemctl restart Apache2

Nginx

Sudo zypper in php7-soap
Sudo systemctl restart nginx
76
M Arfan

Dans ubuntu pour installer php_soap sur PHP7, utilisez les commandes ci-dessous. Référence

Sudo apt-get install php7.0-soap
Sudo systemctl restart Apache2.service

Pour les anciennes versions de php, utilisez la commande ci-dessous et redémarrez Apache.

apt-get install php-soap
45
TIGER

trouvez cette ligne dans le fichier php.ini:

;extension=soap

puis supprimez le point-virgule ; et redémarrez le serveur Apache

1
Gouda Elalfy

Dreamhost inclut maintenant SoapClient dans ses versions PHP 5.3. Vous pouvez changer de version de php dans la section de configuration du domaine du panneau de configuration de dreamhost.

1
rosswil

J'ai eu le même problème, il n'y avait pas d'extension = php_soap.dll dans mon php.ini Mais c'était parce que j'avais copié le php.ini à partir d'une version ancienne et précédente de php (pas une bonne idée) . J'ai trouvé la dll dans le répertoire ext afin de pouvoir la placer moi-même dans le fichier php.ini Extension = php_soap.dll Après le redémarrage d'Apache, tout fonctionnait avec du savon :)

1
franc

Ils ne le prennent pas en charge car ils ne vous aideront pas ou ne seront pas responsables de tout, mais vous pouvez installer des extensions personnalisées. Pour ce faire, vous devez d'abord configurer une installation locale de php 5 , au cours de ce processus, vous pouvez compiler les extensions dont vous avez besoin ou les ajouter dynamiquement au fichier php.ini ultérieurement.

0
prodigitalson