phpsoapdreamhost

How do I install soap extension?


How do I install Soap?

I got this error:

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

I am hosting my site in DreamHost and they don't support any third-party installation.

UPDATE:

I copied the php.ini file with this script: http://sxi.sabrextreme.com/dh-phpini

I am using an API from a website and it says something like this:

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

and here are the list of extensions my php.ini file has:

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

The problem is, the extension php_soap.dll is not found there.


Solution

  • For Windows

    1. Find extension=php_soap.dll or extension=soap in php.ini and remove the commenting semicolon at the beginning of the line. Eventually check for soap.ini under the conf.d directory.

    2. Restart your server.

    For 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