2010-03-24 7 views
19

Ok. Sto solo iniziando a usare il sapone e il mio primo problema è installarlo. Ho ricevuto questo errore:PHP: Come si installa l'estensione soap?

Fatal error: Class 'SoapClient' not found in /home/user/mysite.com/path/to/file.php on line 16 

Sto ospitando il mio sito in DreamHost e chiedo ai ragazzi lì. Ma mi hanno detto che non supportano alcuna installazione di terze parti.

Qualcuno ha lo stesso problema e riesce a risolverlo?

Grazie!

UPDATE:

devo riuscito a copiare il file php.ini con l'aiuto di questo script: http://sxi.sabrextreme.com/dh-phpini

Sto utilizzando un api da un sito web e si dice qualcosa di simile:

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

e qui sono la lista delle estensioni mio file php.ini è:

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 

problema è, l'altra estensione non è stata trovata lì (php_soap.dll).

+0

Sì. Allontanati da Dreamhost. – neo

+0

in realtà, non possiedo il sito :( –

+0

@neo: non sono così male se non è un sito mission-critical. – prodigitalson

risposta

38

1: Trova extension = php_soap.dll in php.ini e togliere il punto e virgola (;)

2: Riavviare il server

0

Non lo supportano come in Non ti aiutano o non sei responsabile del fatto che tu stia perdendo qualcosa, ma puoi installare estensioni personalizzate. Per fare ciò è necessario prima il set up a local install of php 5, durante questo processo è possibile compilare le estensioni necessarie o aggiungerle dinamicamente al php.ini dopo il fatto.

1

Dreamhost ora include SoapClient nei loro build PHP 5.3. Puoi cambiare la tua versione di php nella sezione di configurazione del dominio del pannello di controllo dreamhost.

1

Ho avuto lo stesso problema, non vi era alcuna estensione = php_soap .dll nel mio php.ini Ma questo perché avevo copiato il php.ini da una versione php vecchia e precedente (non una buona idea). Ho trovato la dll nella directory ext così ho potuto mettere io stesso nel php.ini extension = php_soap.dll Dopo Apache riavviare tutto ha funzionato con il sapone :)

31

In ubuntu installare php_soap su PHP7 utilizza i seguenti comandi. Reference

sudo apt-get install php7.0-soap 
sudo systemctl restart apache2.service 

Per la versione precedente di uso php sotto comando e riavviare apache.

apt-get install php-soap