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.
For Windows
Find
extension=php_soap.dll
orextension=soap
in php.ini and remove the commenting semicolon at the beginning of the line. Eventually check forsoap.ini
under the conf.d directory.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
In ubuntu to install php_soap
on PHP7 use below commands. Reference
sudo apt-get install php7.0-soap
sudo systemctl restart apache2.service
For older version of php use below command and restart apache.
apt-get install php-soap
find this line in php.ini :
;extension=soap
then remove the semicolon ;
and restart Apache server
Please follow the below steps :
1) Locate php.ini in your apache bin folder, I.e Apache/bin/php.ini
2) Remove the ; from the beginning of extension=php_soap.dll
3) Restart your Apache server (by using :
# /etc/init.d/apache2 restart OR
$ sudo /etc/init.d/apache2 restart OR
$ sudo service apache2 restart)
4) Look up your phpinfo();
you may check here as well,if this does not solve your issue:
https://www.php.net/manual/en/soap.requirements.php
I had the same problem, there was no extension=php_soap.dll in my php.ini But this was because I had copied the php.ini from a old and previous php version (not a good idea). I found the dll in the ext directory so I just could put it myself into the php.ini extension=php_soap.dll After Apache restart all worked with soap :)