Error message :


magento/product-community-edition 2.2.1 requires ext-soap * -> the requested PHP extension soap is missing from your system.


To install SOAP, it is not required to compile PHP from source. Advice is to do a compilation only as a last option.

To check if your phpinfo indicates anything about the SOAP extensions:

$ php -i | grep -i soap

To make sure the PHP extension is missing.

Assuming you don't see any information about SOAP with phpinfo, you can check what PHP SOAP packages are available.

In Ubuntu/Debian, you can search with:

$ apt-cache search php | grep -i soap

or in RHEL/Fedora you can search with:

$ yum search php | grep -i soap

There are usually two PHP SOAP packages available, usually php-soap and php-nusoap. php-soap is what you get by configuring PHP with--enable-soap.

In Ubuntu/Debian, you can install it with:

$ sudo apt-get install php-soap

In RHEL/Fedora, you can install it with:

$ sudo yum install php-soap

After installation check the php ini file and restart Apache.

Now if you run this command :

$ php -i | grep -i soap

Could you get something like this on screen in the terminal :

$ php -i | grep -i soap

 /etc/php/7.0/cli/conf.d/20-soap.ini,
 soap
 Soap Client => enabled
 Soap Server => enabled
 soap.wsdl_cache => 1 => 1
 soap.wsdl_cache_dir => /tmp => /tmp
 soap.wsdl_cache_enabled => 1 => 1
 soap.wsdl_cache_limit => 5 => 5
 soap.wsdl_cache_ttl => 86400 => 86400