Notifications from cron come every day: Cannot load the ionCube PHP Loader - it was already loaded

Follow

Comments

9 comments

  • I need more clarification is the PHP.ini to be edited and which lines need to be removed or is the file to be removed.

  • Avatar
    Alexandr Redikultsev (Edited )

    Hello, @Dundee Internet Services, Inc!

    In the example provided in the article, there is a double declaration of ioncube loader in the main php.ini file for a system PHP. How to find out what declaration is a proper one? Here is the list of declarations added by Plesk:

    # egrep -Ri ioncube /opt/plesk/php/*/etc/* | grep -v \;
    /opt/plesk/php/5.3/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_5.3.so
    /opt/plesk/php/5.6/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_5.6.so
    /opt/plesk/php/7.0/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.0.so
    /opt/plesk/php/7.1/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.1.so
    /opt/plesk/php/7.2/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.2.so

    # egrep -Ri ioncube /etc/php* | grep -v \;
    /etc/php.d/00-ioncube-loader.ini:zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.4.so

    As you can see, all proper declarations are in 00-ioncube-loader.ini files. If you will see something like that:

    # egrep -Ri ioncube /opt/plesk/php/*/etc/* | grep -v \;
    /opt/plesk/php/5.3/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_5.3.so
    /opt/plesk/php/5.6/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_5.6.so
    /opt/plesk/php/7.0/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.0.so
    /opt/plesk/php/7.1/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.1.so
    /opt/plesk/php/7.1/etc/php.ini:zend_extension=ioncube_loader_lin_7.1.so
    /opt/plesk/php/7.2/etc/php.d/00-ioncube-loader.ini:zend_extension=ioncube_loader_lin_7.2.so

    Then it is /opt/plesk/php/7.1/etc/php.ini file that should be adjusted. Find the line started from zend_extension=ioncube in this file and just remove the record.

    I hope this will be helpful for you!

  • Avatar
    Martin Meerman

    Hi,

    This thread seems to lead to something I am currently experiencing with Plesk  - I guess it popped up after I added PHP7 to an install with already PHP5.6. Since then I get constant errors reported via email and when I run the command mentioned above I get the same errors:

    /usr/lib/php/sessionclean
    Failed loading /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: undefined symbol: zval_update_constant_inline_change
    Failed loading /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: undefined symbol: zval_update_constant_inline_change
    Failed loading /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: undefined symbol: zval_update_constant_inline_change
    Failed loading /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: undefined symbol: zval_update_constant_inline_change

    I am not all to experienced in Ubuntu, but I can find my way around if anything needs to be adjusted.

    You help is much appreciated.

    Martin

  • Avatar
    Alexandr Redikultsev

    Hi Martin,

    It seemed like you upgraded system PHP and now ioncube_loader_lin_5.6.so is not compatible with PHP 7, therefore you are receiving the notifications.

    I recommend removing ioncube_loader_lin_5.6.so from  /usr/lib/php/20151012/ directory, removing the include of this module from corresponding PHP.ini file and then adding PHP7-compatible ioncube loader as described in the following article:

    https://support.plesk.com/hc/en-us/articles/115000228505-How-to-install-ionCube-Loader-in-Ubuntu-16-04 

  • Avatar
    Martin Meerman

    Hi Alexandr,

    Thanks for your suggestion; would deleting the 5.6  loader not impact the fact that I also still have PHP5.6 in my Plesk environment besides the PHP7.x?

    thanks, Martin

     

  • Avatar
    Alexandr Redikultsev

    Hi Martin,

    It depends on how exactly you added PHP 7 to the system. In case you were using additional PHP handlers provided by Plesk (the ones that can be installed via Plesk Installer at Tools & Settings > PHP Settings), then ioncube loaded at /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so is not related to them, therefore you can do that.

    In case you installed PHP 7 somehow differently (using apt-get/yum directly), then behavior might be different, as installation of PHP 7 without using Plesk installer can just overwrite /usr/lib/php/sessionclean file.

    Try reinstalling ioncube loader anyway, and in case you hesitate because of possible impact, you can just remove /usr/lib/php/sessionclean script as it is not used by Plesk anyway.

  • Avatar
    Martin Meerman

    I added PHP7 via Plesk next to the already installed PHP5.6. Both PHP5.6 and PHP7 are now being used by different applications.

     

  • Avatar
    Ivan Postnikov (Edited )

    Hello @Martin,

    As I can see, PHP 7 was installed with the help of Plesk.

    In this case, as my colleague replied,  ioncube loaded at /usr/lib/php/20151012/ioncube_loader_lin_5.6.so: /usr/lib/php/20151012/ioncube_loader_lin_5.6.so is not related to PHP 7.

    There should not be a negative impact on PHP 5.6 either.

  • Avatar
    Martin Meerman

    Thanks all - I made the suggested changes and wait to see if there's an impact or not.

    Much appreciated! - Martin

Please sign in to leave a comment.

Have more questions? Submit a request