WordPress Image Resizing Without php-gd

I ran into a problem recently on the very WordPress installation that runs this blog. After migration from my old hosting provider (Dreamhost) to my new VPS (DigitalOcean), WordPress was no longer resizing images.

I learned that this resizing is typically done by a PHP extension called php-gd. I tried to install the plugin using yum install php-gd, but the process ended complaining about a dependency which wasn’t being met. It appeared there was no way around this.

After posting the problem to StackExchange’s WordPress site, I was alerted to the fact that WordPress recently started using ImageMagick for image resizing.

Being a newcomer to Linux server administration, I still wasn’t sure what to do with this knowledge. I installed ImageMagick with yum install ImageMagick*.

Installing ImageMagick on the server

Even with ImageMagic installed I still had no image resizing natively through WordPress (and I’m still not quite sure why this was the case). Luckily, I stumbled into a solution: the ImageMagick Engine plugin for WordPress. The plugin quickly found my ImageMagick install on the server and resizing was working once again.

A nice side-effect of this plugin was has an option to regenerate your thumbnails for existing uploads. This feature is provided because ImageMagick is apparently worlds better at scaling images than php-gd. It worked really nicely for me because I had no additional sizes for the images at all. I used this regenerate functionality to generate them for the first time.

ImageMagick Engine plugin regenerates my thumbnails

As a bonus, check out the Simple Image Sizes plugin. It’s a great way to add custom sizes for your images that will be generated each time you upload.