How To Install PHP Zip On WHM

I was playing around with converting a WordPress site to a static html site and ran into a "WARNING: ZIP extension mission" message when I tried to use zip.

Error message that the zip extension is missing

After some digging around, I realised I needed to install PHP zip. This is a server on which I have WHM, so I'll go through how I fixed it here.

How to install PHP Zip on WHM:

  1. In WHM, go to EasyApache 4
  2. Customize the current package
  3. Under "PHP Extensions", do a search for "zip"
  4. Enable phpxx-php-zip for the installation, or for all installations
  5. Provision the changes and restart Apache

Let's go through those steps now.

Log in to WHM. If you're confident enough to fix this, you'll know what your login for WHM is. If you don't know it, it's probably best you get in touch with your hosting provider to do this for you.

Do a search for "easy", click "EasyApache 4" under software and click "Customize".

You might have a different number after EasyApache. Just choose that one.

If you have multiple EasyApache versions, choose the highest one. You'll likely get an error message if you choose the one that's not currently running.

WHM back end EasyApache 4 tab with arrows pointing to the searched term 'easy', to EasyApache 4 in the sidebar and to Customize next to the currently installed packages

You can go through each of the options if you like, or just click on PHP Extensions to jump to the part we need.

Do a search for "zip", or you'll be scrolling for awhile.

You should see a list of PHP Zip modules, one for each of the PHP versions you have installed on the server.

If you know you're only going to need it for one version, just enable that one. I don't see the harm in enabling for all.

WHM back end EasyApache tab with arrows pointing to PHP Extensions and to the toggles for php-zip

You can either click "Next" until you get to the end, or just click "Review" in the side.

WHM back end EasyApache tab with the php-zip packages toggled and an arrow pointing to Review

Under Review, you'll see the list of packages you're going to install. Check to make sure there's nothing unexpected in there. It will also list any upgrades or other affected packages.

WHM back end EasyApache tab showing three php-zip packages ready to be installed

When you're happy with what's being installed, click "Provision" to roll it out.

WHM back end EasyApache tab with arrow pointing at Provision button

It will take a few seconds to install the packages. You should see "Provision process finished" and "The provision process is complete."

Click "Done".

Message saying Provision process finished. Arrow pointing to Done button

For the last step, you need to restart Apache. The changes you made won't take effect until you've restarted it.

You're not restarting the entire server, just the Apache software. I know it says "HTTP Server (Apache)", but it's just talking about the specific software on the server rather than the whole machine.

WHM back end EasyApache tab arrow pointing to restart http server (Apache)

Click "Yes" when prompted to restart Apache Web Server.

WHM back end Apache Web Server tab with arrow pointing to Yes to the question are you sure you wish to restart this service

It should only take a few seconds to restart Apache. You'll see the message "Apache restarted successfully."

WHM back end Apache Web Server tab with circled message Apache restarted successfully

Now when you go back to your website, you won't see the error message about Zip not being installed.

WordPress admin area showing zip missing error message has gone

I hope you found this tutorial useful. If you have any questions, please comment below.

Leave a Comment