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.
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.
Redémarrez votre serveur.
Apache
Sudo apt-get install php7.0-soap
Sudo systemctl restart Apache2
PHP5
Sudo apt-get install php-soap
Sudo systemctl restart Apache2
Apache
Sudo zypper in php7-soap
Sudo systemctl restart Apache2
Nginx
Sudo zypper in php7-soap
Sudo systemctl restart nginx
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
trouvez cette ligne dans le fichier php.ini:
;extension=soap
puis supprimez le point-virgule ;
et redémarrez le serveur Apache
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.
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 :)
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.