Ioncube: The New Normal

Ioncube: The New Normal

With the release of AOM v5.5.0 a few months back, some changes to the install/upgrade process made things difficult for some users. We’re going to look at this situation in detail, cover the history involved, and outline some steps that can be taken to hopefully minimize any individual difficulties in relation to using Associate-O-Matic on certain webhosts.

The situation began at the end of November, 2013, when v5.5.0 was released. Among the usual new features and bug fixes, there were also changes to allow AOM to function with the newest versions of ionCube (which in turn allows IC to work with newer versions of PHP). However, unbeknownst to us, these changes meant that any older versions of IC were now no longer compatible. The result being that users with established sites were applying the upgrade, only to find that their sites now no longer functioned. In some cases, contacting the web host would result in the host upgrading to the newest version of IC, resolving the problem outright. But some hosts were reluctant to do the upgrade, HostGator being one of the biggest to do so (their suggested solution was to upgrade from shared hosting to a VPS server, which would be a huge increase in hosting fees; much more than most users will able or willing to pay).

After a few days of exploring any possible options open, it was discovered that the ionCube code could be tweaked internally to a Legacy version. This would allow AOM to maintain the advantages of using an upgraded version of IC, but at the same time be backwards-compatible with older versions of the IC loader files. The v5.5.0 files were adjusted accordingly, and users who had reported problems were advised to re-download the new zip file and reinstall the upgrade. This solved the problem completely for many users, especially those on HostGator. And this is the version of the v5.5.0 files that can be found today (and upgrades for the foreseeable future).

However, even the legacy version has a catch. It is backwards-compatible with older versions of ionCube, but only to a point. As anyone who has ever tried to make a web page fully compliant with various browsers, you eventually reach a point where you can no longer sustain compatibility (think Internet Explorer 4. Or 5. Or 6…). It appears that the legacy version extends as far back as version 4.x.x of the ionCube loader, but not into version 3.x.x. And there are web hosts who will not upgrade, despite repeated calls from disgruntled users (not just AOM users; ionCube is used on a wide variety of web software).

This one works
This one works
This one doesn't
This one doesn’t
Nor this one
Nor this one

The above images can be found with either the aom_phpinfo.php file in place, or via ionCube’s Loader Wizard program. Either will give you detailed information regarding the server environment, including what version (if any) of the ionCube loader is used. The top image shows a loader version of v4.4.1, which is fully compatible with AOM v5.5.0. The second image shows a much older loader (v3.3.3), which would not work, even with the legacy version built in to AOM. It’s clear that the bottom image doesn’t even have ionCube installed.

Of course, with some server setups, it’s possible to load ionCube yourself. The installation process for Associate-O-Matic will create an /ioncube subdirectory, with the loader wizard and other files you’ll need. Running the wizard will instruct you on how to download the correct loader files, and create a custom php.ini file to direct PHP on where to find the loaders. This process is detailed mainly for GoDaddy users here, but it can serve as a basis for many other web hosts as well (note that GoDaddy will not allow the use of ionCube with Windows servers; only Linux).

However, having said that, it’s important to note that just as often, hosts will not allow the use of custom php.ini files. Usually the php.ini file is kept in a high-level directory where the end user cannot access it. This is done mainly as a preventative measure, so that users without the proper skills can’t wreak havoc upon their server setups. When you try to set up your own ionCube loader files in this situation, you’ll eventually get a message from the wizard that PHP is not reading the .ini file.

If ultimately you find yourself in a position where the web host will not install or upgrade ionCube, nor allow you to do a local install, you may have to consider moving to a new host. IonCube is a requirement for AOM, and without it, you’ll be unable to create an online store. Because of the wide variety of hosts and the options they allow, the best way to find out how they deal with ionCube is to ask them. The first question should be, “Do you have ionCube installed, and if so, what version of the loader?”. If they have an old version, ask if they will upgrade to the latest version. If not, ask if they will allow you to use a custom php.ini file to do a local install of ionCube. If all the answers are negative, you may strongly want to consider another host.

Latest posts

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.