0

I am trying to install a package using composer. It fails with the error message below.

  Problem 1
    - zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
    - zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
    - zendframework/zend-soap 2.7.0 requires ext-soap * -> the requested PHP extension soap is missing from your system.
    - Installation request for zendframework/zend-soap 2.7.0 -> satisfiable by zendframework/zend-soap[2.7.0].

sudo yum install php-zendframework-zend-soap

This is the command I am running to install the zend-soap. However this ends the error message below.

--> Running transaction check
---> Package php-container-interop.noarch 0:1.2.0-3.el7 will be installed
---> Package php-psr-http-message.noarch 0:1.0.1-1.el7.remi will be installed
---> Package php-soap.x86_64 0:5.6.40-14.el7.remi will be installed
--> Processing Dependency: php-common(x86-64) = 5.6.40-14.el7.remi for package: php-soap-5.6.40-14.el7.remi.x86_64
---> Package php-zendframework-zend-eventmanager.noarch 0:2.6.3-1.el7.remi will be installed
--> Finished Dependency Resolution
Error: Package: php-soap-5.6.40-14.el7.remi.x86_64 (remi-php56)
           Requires: php-common(x86-64) = 5.6.40-14.el7.remi
           Installed: php-common-7.2.20-1.el7.remi.x86_64 (@remi-php72)
               php-common(x86-64) = 7.2.20-1.el7.remi
           Available: php-common-5.4.16-48.el7.x86_64 (base)
               php-common(x86-64) = 5.4.16-48.el7
           Available: php-common-5.4.45-18.el7.remi.x86_64 (remi)
               php-common(x86-64) = 5.4.45-18.el7.remi
           Available: php-common-5.6.40-13.el7.remi.x86_64 (remi-php56)
               php-common(x86-64) = 5.6.40-13.el7.remi
           Available: php-common-5.6.40-14.el7.remi.x86_64 (remi-php56)
               php-common(x86-64) = 5.6.40-14.el7.remi
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

I have tried running it with the --skip-broken. That does not install the missing zend-soap. It gets skipped over. I ran the second suggestion and nothing happened. Does anyone have a clue how to get this to install on CentOS 7.

user1794918
  • 103
  • 4

2 Answers2

1
      Installed: php-common-7.2.20-1.el7.remi.x86_64 (@remi-php72)

As you have installed PHP 7.2 from "remi-php72" repository, you must keep this repository enabled to ensure additionnal extension will be found.

This will also ensure you get benefit of bugfix and security updates (latest version is 7.2.30)

As explained by the wizard.

yum-config-manager --enable remi-php72

And you can also disabled unneeded repository

yum-config-manager --disable remi-php56

And then

yum install php-soap
Remi Collet
  • 2,061
  • 1
  • 11
  • 12
0

You need to install PHP's soap extension. Should work like this on CentOS 7:

yum install php-soap

After the installation finished you should find file called soap.ini in /etc/php.d and the module itself in /usr/lib64/php/modules.

Next restart your Apache server (or whatever webserver you are using)

systemctl restart httpd

Finally you can install your package via Composer as you tried. This time the package should be downloaded and installed.