1

Using following commands installed latest ioncube loader on Ubuntu 13.10 x64 based NGINX, PHP-FPM (5.5) stack

cd /usr/local
sudo wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
sudo tar xzf ioncube_loaders_lin_x86-64.tar.gz
mv /usr/local/ioncube/* /usr/lib/php5/20121212/

And added following line to php.ini

zend_extension = /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so

Getting following error on my projects error log

... was encoded by the ionCube Encoder for PHP 5 and cannot run under PHP 5.5. ...

What am I doing wrong?

heron
  • 3,611
  • 25
  • 80
  • 148

3 Answers3

1

This means that the developer of the files produced them to work on PHP 5.0 and higher, and such files cannot be run with PHP 5.5 (see comment to @efarid08's off the mark reply). They should work fine with PHP 5.4, and you could ask the developer of the files to produce a version that targets PHP 5.3 and higher instead. Aside from such files then being able to work on PHP 5.5, they should also run faster as they more closely match the target language, and can leverage some more efficient internal mechanisms for handling certain PHP language features. Better still would be for the developer to produce them to directly target PHP with the PHP 5.5 Encoder that's included with an update in release 8.3.

So, either use PHP 5.4, or procure updated encoded files if possible. You can also always contact ionCube Support via http://ioncu.be/S for assistance.

Disclaimer: I am associated with ionCube

Nick
  • 1,334
  • 10
  • 14
0

The quote from ioncube support make me feel sick, they are trying to put the blame on PHP, when the reality is that ioncube developers is lazy and apparantly don't give a damn. It is very little different bitween PHP 5.4 and PHP 5.5, most of the time there will not be needed to make any changes in PHP scripts. PHP 5.5 is very stable, and is more secure then PHP 5.3.x. They are wrong, and they are lazy, and the qoute from them make me feel sick and angry.

efarid08
  • 193
  • 1
  • 4
  • @efarid08 Tools such as ionCube runtime operate on compiled code, not source. Inside, PHP 5.3 is somewhat different to 5.0, 5.4 a *lot* different, and 5.5 further different. Running bytecode for an older PHP language requires on the fly patching to make it work & is tricky. Unlike Zend, ionCube supports even PHP 4 code on runtimes up to PHP 5.4, but development effort to achieve fwd compatibility grows exponentially with each new PHP language. To avoid undue delay in PHP 5.5 support, only files encoded for PHP 5.3, 5.4 and 5.5 are currently supported on 5.5. D: I am associated with ionCube. – Nick Apr 22 '14 at 17:59
  • 1
    This answer is totally wrong, you have misunderstood the nature of the error. As much as I do not like IonCube, what makes me feel sick is incoherent and incorrect rants from people who do not fully understand what they are ranting about. – SHaKie Jun 08 '15 at 11:19
0

Verify that you are able to access the file: just do

ls -al /usr/lib/php5/20121212/ioncube_loader_lin_5.5.so

Also for Ubuntu ioncube is supposed to be loaded via /etc/php5/fpm/php.ini under the section [Dynamic Extensions]

Shivanand Sharma
  • 434
  • 3
  • 13
  • Verifying access to the file is always a good step. Choice of ini file is somewhat arbitrary though, and sections in php.ini files are just an illusion as PHP has no concept of ini sections (i.e. the [] syntax is ignored). Aside from access itself, It is important that the Loader is the first engine extension loaded and that the file is for the correct version of PHP and OS. – Nick Mar 25 '16 at 20:18