Affordable Mobile Website Idaho

IMPROVBOY Online & Print Marketing

“Where inspiration and science create brilliant solutions.”

Call Today!Web Designer Idaho

(208) 270-6445

IonCube Loader Troubleshooting – Why is my IonCube Loader not working?

IonCube Loader Not Working

ionCube Loader Not Working?

ionCube Loader Troubleshooting

I have a Magento website that has a couple of Unirgy Extensions (uDropship and uGiftCert) that requires the ionCube Loader to be installed on the server. Because Unirgy encoded their extensions with the ionCube PHP Encoder, everyone who uses their extensions must have the Loader on the server that contains these extensions. Through the years, I have noticed several problems that can arise with the ionCube Loader.

Installation of a new version of ionCube Loader

Download the new ionCube Loader file

Whether you have to install IonCube Loader for the first time, or you need to install a new version of the Loader, you still need to do basically the same steps each time. My server is a Dedicated Centos Linux server running Apache.

Click here to go to the ionCube Loader page.

From here it is recommended to either use the Loader Installer or the Loader Wizard.

How To Use The IonCube Loader Wizard

I have never had success with the Loader Installer. I download the TGZ version of the wizard, and FTP it to a folder that I created temporarily somewhere in the public_html folder. I either decompress the file using SSH (Putty), or I go into my cPanel and decompress it in File Manager.

Now open your browser to the folder where you decompressed the wizard. Click on the ioncube/ link. Now click on the loader-wizard.php link. This will initialize the loader wizard where it will assess what you currently have on your server after you tell it what kind of server you have. It will then recommend the ionCube Loader file to download and install. I usually download the tar.gz file.

With this tar.gz file, FTP it to your server and note where you put it.

Delete the old files and folder

Here’s where the first problem may arise. Because ionCube keeps the same names for their files regardless of versions, it is important to delete the old files and the ioncube/ folder that they reside. The zipped Loader file that you just downloaded from ionCube has the loader files including the ioncube folder. For example, if you were to unzip it, it would look like the following:
ioncube/ioncube_loader_lin_5.2.so
ioncube/ioncube_loader_lin_5.3.so
ioncube/ioncube_loader_lin_5.4.so
etc.

So, to be sure that you are not going to have something like ioncube/ioncube/ioncube_loader_lin_5.4.so, it is best just to delete the whole folder and its contents with SSH and start from scratch. You will need to navigate to where the ioncube folder resides on your server. For me the command is:
cd /usr/local/lib/php/extensions/no-debug-non-zts-20100525/
I’m sure your destination is different.

Then if you want to check to be sure that the ioncube/ folder is there, type:
ls
This command lists all of the files and folders that reside in the no-debug-non-zts-20100525/ folder to verify the ioncube/ folder is in fact there.

Use the following SSH command:
rm -rf ioncube/
This deletes the folder and all of its contents.

In case you don’t know where your ioncube/ folder resides, and you have already installed ionCube Loader previously, you can go to your php.ini file and look for the following:
extension_dir = “usr/local/lib/php/extensions/no-debug-non-zts-20100525”
Your directory will probably look different than mine.

If you have recently upgraded to EasyApache 4 and PHP7, the folder system is entirely different than EasyApache 3 and PHP5.6. To find out where your php.ini file is located and/or the extensions folder, you can click here and follow these simple steps to find out all of the PHP information you need.

Although there are different ways to read your php.ini file, I use Pico, which is a UNIX editor. Navigate to the folder where the php.ini file resides. Type the following command:
pico php.ini
This opens the file in the Pico file reader and editor. You can find out more information on how to use Pico HERE.

While there, be sure that you have this line:
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20100525/ioncube/ioncube_loader_lin_5.6.so
Of course, you will use the correct directory path and the correct ioncube loader file that the wizard told you to use. This line should be above any other zend_extension lines. I keep mine just below the extension_dir line as stated above.

Move the ionCube Loader to the right folder

With the ionCube Loader tar.gz file that I FTP’d earlier to the server, I now need to move/copy it to its right folder. Navigate with Putty to where you FTP’d the tar.gz file.
Enter the following command:
cp ioncube_loaders_lin_x86-64.tar.gz /usr/local/lib/php/extensions/no-debug-non-zts-20100525/
There is a space between the file name and the destination folder where the file resides. Your destination folder is probably going to be different than mine. I used the copy command instead of move just in case I mess up somewhere along the way, I can always have a copy of it somewhere.

Now navigate to the new folder where you just moved this file.
For me the command is:
cd /usr/local/lib/php/extensions/no-debug-non-zts-20100525/
To check if it is there, type the command:
ls
This will show all the files and folders in that folder. You should see the tar.gz file there.

Unzip the file by using the following command:
tar -zxvf ioncube_loaders_lin_x86-64.tar.gz

This will now give you the new folder ioncube/ with the newest versions loader files.

Restart Apache. Use the following command:
service httpd restart
If you don’t restart Apache, the ionCube Loader will not work.

To check to see if the ionCube Loader is installed correctly, you can go back to your browser where the Loader Wizard resides, and there you click the link to test everything. Once you have success with your installation, be sure to delete the folder and its contents where the Loader Wizard resides.

Other Problems with ionCube Loader

You may find yourself with a white screen of death with the following error that a file “has been encoded with the ionCube PHP Encoder and requires the free ioncube_loader_lin_5.4.so ionCube PHP Loader to be installed.” This means that there is either a deletion of the loader files on the server and/or a deletion in the php.ini file.

For me, this usually happens when I need to rebuild Apache (not restart it). For example, I had to add the SOAP client to the server, and when I rebuilt Apache, the ionCube Loader broke.

To fix this, first see if the files are still on the server. Navigate to where they should be and check to see if they are there. If they are, the problem has to do with the php.ini file. If they are not, follow the steps above to get them back on your server.

Whether or not the files are missing, you still need to check the php.ini file. Navigate to where the php.ini file is located, and use Pico above to read it. Verify that the following two lines are there:
extension_dir = “usr/local/lib/php/extensions/no-debug-non-zts-20100525”
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20100525/ioncube/ioncube_loader_lin_5.6.so
Of course, you will use the correct directory path and the correct ioncube loader file that your server should use. The zend_extension line should be above any other zend_extension lines. I keep mine just below the extension_dir line as stated above.

Restart Apache.

To Summarize

If you are having problems, check:

  1. Do you have the latest and greatest version of ionCube Loader?
  2. If you need to install a new version, did you delete the old ioncube/ folder and its contents before installing the new folder and files
  3. Does the php.ini file have the extension_dir and zend_extension lines stated above?
  4. Do the extension_dir and zend_extension lines have the correct directory paths?
  5. Did you restart Apache?
  6. Did you run the Loader Wizard installation test to see if there are any errors?

Cheers!

Sheri Smith

Sheri Smith

Head Programmer and Graphic Artist

Sheri is the head programmer for Improvboy, and has been working in the industry since the 1990's. Her expertise is mostly in HTML, CSS, PHP, MySQL, and javascript. If you need a website, ecommerce store, or website fixes, please don't hesitate to contact her here. She will be happy to help you out.

Share This