WordPress Site Health Message That "One or More Modules Is Missing": Zip

I heard from a client today that in his PHP 7.4 WordPress installation, when he looked at Tools > Site Health, he was seeing a notice that “One or More Modules Is Missing” and "The optional module, zip, is not installed, or has been disabled.”

I’m using CentOS 7 and Interworx 6.x.

It took me a lot longer to figure this out than it should have, so I will spare you the details and just hit the highlights.

When I looked at the PHP modules installed, I could see that the Zip module was installed for the system version of PHP as well as all the installed multi-PHP versions. There was a Zip section in the main phpinfo(), but there were no Zip sections in phpinfo() for the multi-PHP versions, and a test PHP script I wrote also said that Zip was not enabled. I noticed that on 6/19 there were updates to all the Zip extensions, so just to be sure, I restarted PHP-FPM, and that fixed the problem. Now there are no warnings in WordPress Site Health, and phpinfo() shows that the Zip module is installed and enabled.

The upshot of this is: If your WordPress users complain of Site Health warnings about missing modules you know you have enabled, try restarting PHP-FPM first, especially if you see the modules have been recently updated.

I have never had an issue like this before, so I suspect that when updates run, Interworx normally restarts PHP-FPM and it just didn’t happen this time.

1 Like


We’ve had numerous reports of issues with the latest zip php module. A majority of them are because people have disabled the EPEL repo on their systems and one of the libraries that the zip module relies on is now too old and doesn’t contain some necessary symbols for the module. The solution was to just re-enable the EPEL library and update. This is a new one, so we’ll certainly keep an eye out for it. Though there may be little we can do on our end if there is an issue in the upstream PHP packages (I believe this is where the “restart” would be coming from, not necessarily InterWorx itself).

Thanks for letting everyone know!