PHP page shows the error: ioncube_loader_lin_5.3.so: undefined symbol

Created:

2016-11-16 12:39:34 UTC

Modified:

2017-04-24 11:03:57 UTC

0

Was this article helpful?


Have more questions?

Submit a request

PHP page shows the error: ioncube_loader_lin_5.3.so: undefined symbol

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk 12.0 for Linux

Symptoms

When browse PHP website, you get the following error:

    Failed loading /usr/lib64/php/modules/ioncube_loader_lin_5.3.so:  /usr/lib64/php/modules/ioncube_loader_lin_5.3.so: undefined symbol: zend_execute_ex

Or error as below:

    root@www:~# php -v
Failed loading /usr/lib/php5/20090626/ioncube_loader_lin_5.3.so: /usr/lib/php5/20090626/ioncube_loader_lin_5.3.so: undefined symbol: php_body_write
PHP 5.4.28-1+deb.sury.org~precise+1 (cli) (built: May 5 2014 09:32:44)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Other error may be:

    Failed loading /usr/lib/php/ioncube/ioncube_loader_lin_5.2.so:  /usr/lib/php/ioncube/ioncube_loader_lin_5.2.so: undefined symbol: php_body_write
Cannot load Zend Extension Manager - it was built with configuration 1.2.0, whereas running engine is API220100525,NTS

Cause

Incorrect version of Ioncube loader was chosen for PHP.

Resolution

  1. Search for ioncube in PHP configuration file(s) from command: # php --ini

    For example, you have PHP 5.3.x installed:

    # php --ini
    Configuration File (php.ini) Path: /etc
    Loaded Configuration File: /etc/php.ini
    Scan for additional .ini files in: /etc/php.d
    Additional .ini files parsed: /etc/php.d/00-ioncube-loader.ini,
    /etc/php.d/curl.ini,
    ...
    /etc/php.d/zend_extensions_psa.ini,
    /etc/php.d/zip.ini

    #grep -i ioncub /etc/php.d/*
    /etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_5.3.so
    /etc/php.d/ioncube.ini:zend_extension=ioncube_loader_lin_5.2.so <=== ionCube loader for previous PHP 5.2.x version
  2. Download and unzip Ioncube loader according to your PHP version and architecture at ioncube.com .

    wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

    wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x64.tar.gz

  3. Extract it and move "ioncube_loader_lin_5.X.so" to "/usr/lib/php5/ioncube/" or similar path where PHP modules are located.

  4. Update version/path to Ioncube loader in /etc/php5/conf.d/00-ioncube-loader-5.x.ini .
  5. Restart web server just in case.
  6. Make sure that PHP loads correctly:
    root@www:/tmp/1# php -v
    PHP 5.4.28-1+deb.sury.org~precise+1 (cli) (built: May 5 2014 09:32:44)
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with the ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd.
Have more questions? Submit a request
Please sign in to leave a comment.