Can’t activate iMember360 plugin in WordPress

Ran into a problem this morning where I couldn’t activate the iMember360 (Infusionsoft for WP) plugin on a local development install. Instead, I got a rather unhelpful error message: “Plugin could not be activated because it triggered a fatal error.” Okay, thanks for that.

Gollum
We hates encrypted plugins, we do! (Gollum photo credit: Emmi.Kristiina)

I’m running all my WordPress development sites on DesktopServer by ServerPress. The PHP is a bit dated (5.3.1 as of v3.5.8), but it’s a good stack and simple to set up. The only problem I’ve ever faced with it is the iMember360 plugin, because of its use of file encryption. I’ll go on a rant about that ugliness in another post, but suffice it to say for now that it sucks and we hates it my precioussss. :-\

A peek at the code tells me that before it can run, it requires that the Zend Guard Loader or ionCube Loader be present and active on the server. Since neither one of those is active by default in DesktopServer, you’ll need to download and install your preferred decoder. I used ionCube for this setup.

  1. Download the loader files and extract them to the extensions folder in your DesktopServer install. Mine is at /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626. I also downloaded the loader wizard and extracted the folder to /Applications/XAMPP/xamppfiles/htdocs.
  2. Add the following line to your php.ini file (mine is at /Applications/XAMPP/xamppfiles/etc/php.ini:
    ; Enable ioncube
    zend_extension="/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/ioncube_loader_dar_5.3.so"
  3. Open your browser to http://127.0.0.1/ioncube/loader-wizard.php and follow the directions there to make sure it’s working. You may need to restart Apache from inside DesktopServer.
  4. Activate the plugin and get back to work!