When Ioncube encryption was first added to Associate-O-Matic, many users had a hard time getting to grips with it. If your server was already equipped with IC, and kept everything up to date, then there were no problems. However, many people were not so lucky, and a great deal of time was spent in installing and troubleshooting ioncube loader files. AOM was bundled with the most common loaders for Linux & Windows systems, but it added a great deal of heft to the size of the files. There was also a basic diagnostic file (ioncube-loader-helper.php), which could tell you if the files were working or not, and provide some info about the file path and loader required.
Starting around the time v4.3.0 was released, another problem reared its ugly head; if a server was using an outdated version of the Zend loader, ioncube would not work. This in turn, led to general failure of the AOM shop.php file (admin.php was often unaffected). It was obvious something needed to be done.
With the release of v4.4.0, ioncube has been streamlined, and a new wizard file has greatly improved manual installation when required. In this post we will take a brief look at how ioncube is different, and what you can do if your install runs into trouble.
Firstly, the twenty-four files packed into the old IC folder have now been reduced to just five. And two of them are a readme file and a license text. The readme file contains some basic instruction and troubleshooting suggestions. Hopefully they will not be required.
Also included is the ioncube-loader-helper.php file available previously. In the event you get some sort of IC error message when trying to access your AOM site, this should be the first file you need to try. You would call it up in your browser by typing in the web address of your site, along with /ioncube/ioncube-loader-helper.php. So if your site is ‘www.mysite.com‘, then you would need to go to ‘http://www.mysite.com/ioncube/ioncube-loader-helper.php‘. As mentioned above, this file will contain useful information such as the file path and the loader file required. It also has a runtime option, which can try to finish installing ioncube for you, but it assumes you have the correct loader file already in place. Most of the time, you won’t (if you did, the install would have been a success, so you wouldn’t need to run this helper file).
The ioncube-loader-helper.php file works with one of the other files, ioncube-encoded-file.php. This file is encoded with the ionCube PHP Encoder (as the name suggests) and does most of the actual testing to see if ioncube is functioning correctly. It then passes the information on to the helper file, where it’s evaluated, and the results are displayed for you.
So far, all of these files are the same as the ones originally included with ioncube. The last file however, is entirely new. It’s the loader-wizard.php file. As with the helper file, you would point your browser to it with the same format as before: ‘http://www.mysite.com/ioncube/loader-wizard.php‘. When this file is accessed, it begins by checking for an update to itself, then gathers data about your system (no secure or private information is accessed; anything not related to ioncube itself or the installation process is ignored). It may ask you if you are installing ioncube onto a GoDaddy site (GoDaddy has their own way of doing nearly everything). You are then shown what to do in order to install ioncube on your site, and how to make sure the server knows where it is.
Many times, the wizard file will instruct you to download the correct loader files, providing a link. This will download a zip file containing loaders. You need to unzip this file, then upload the loader files into the /ioncube folder. You may also be given text for your php.ini or php5.ini file. If you can access your php.ini file, the text needs to be pasted into the file, preferably in the [Zend] section, and after any other lines of text that may be in that area. If you cannot access your php.ini file, or do not know if you have one, you can create one in your site directory (the same area where the AOM shop.php and admin.php files are located). Some servers (such as GoDaddy) require you to use a php5.ini file. If you need to create the file, it doesn’t need anything else in it except the line containing the file path to the loader (GoDaddy requires an additional line for the server_save path. More information about that is available in the post regarding ioncube in the GoDaddy section of this site).
Once you have the loaders in place, and your php.ini file contains the directions to the loaders, ioncube should start to function automatically. If so, no further action should be required on your part. If you still have problems, here are a few details to check:
- Does the file path to the loader file seem to be correct?
- Is it installed correctly in the php.ini file?
- Do you need a php.ini or php5.ini file?
- Does your webhost have specialized instructions for installing ioncube? If so, follow those. Contact your host if you have trouble with their instructions.
One last small point to make also concerns GoDaddy (I said they do everything differently). GD does not support ioncube when using a Windows server. If you want to install AOM on GoDaddy, you must use a Linux server.
Most of the time, the wizard file will be able to guide you through the manual install. In the event that it draws a blank, check with your webhost. If all else fails, open an AOM support ticket. But unless your host does not support ioncube, you should be up and running from the very start.