• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Resolved Plesk Core Cron Error: ioncube_loader

alpyeni1

New Pleskian
Hello everyone,

After recent update to Plesk Plesk Obsidian 18.0.23 Update #4, on my Debian 8.11 web server, the Plesk keeps sending me notification emails with title Cron <root@hubserver> [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean around every 30 minutes, and the email contains the following message:

Code:
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable

I am struggling on finding the root issue here, and I don't know how to solve it. These emails are getting a bit annoying, so please help me find the problem and solve it.

Any feedback and helping hand is in advance appreciated!

Kindly,
 
You have to finв related PHP5 .ini file which contains a line with mention of extension ioncube_loader_lin_7.2.so and remove this extra line on ini file. System PHP ini files should be somewhere in /etc/php.... And Plesk PHP ini files in /opt/plesk/php....
 
I tried checking all the PHP.inis I could find under /etc/php, /etc/php5, and /opt/plesk/php, but neither of them had anything related to ioncube_loader.
 
Incompatible Ioncube module for PHP 7.2 is loaded by PHP 5.
I assume that this ini file can be located somewhere in rm -rf /etc/php5/*/conf.d/00-ioncube-loader-7.2.ini
Remove it with

# rm -rf /etc/php5/*/conf.d/00-ioncube-loader-7.2.ini
 
I have the same problem,
after update to 18.0.28 every 30 minutes i get the message:

Cron <root@server2> [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean

Code:
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: undefined symbol: zend_ce_countable

after i delte the file

i get this message

Code:
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib/php/20151012/ioncube_loader_lin_7.2.so:  /usr/lib/php/20151012/ioncube_loader_lin_7.2.so: cannot open shared object file: No such file or directory

how i can solve this?
 
That seems to be a bug in php-ioncube-loader or sessionclean !
- have default php version set to e.g. /opt/plesk/php/7.2/bin/php
- system php from distribution is e.g. /usr/bin/php7.0
- dpkg-reconfigure php-ioncube-loader will now install the php 7.2 version /usr/lib/php/20151012/ioncube_loader_lin_7.2.so for all the php 7.0 variants in the /etc/php/7.0/xxx directories
- /usr/lib/php/sessionclean does not use the php version set by update-alternatives (7.2) but this one: /usr/sbin/phpquery -V (7.0)
- as consequence /usr/lib/php/sessionclean crashes

How to fix that manually:
in /etc/php/<yourversion>/[cli|fpm|...]/conf.d/00-ioncube-loader-7.2.ini
change "zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.2.so" to "zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_X.Y.so" according to the result of /usr/sbin/phpquery -V

For the dev guys: Please dont let php-ioncube-loader install a 7.2 version in the 7.0 config files!
 
Hello everybody,
i solve the problem i have had the wrong ioncube loader in following directories

/etc/php/7.0/apache2/conf.d/
/etc/php/7.0/cgi/conf.d
/etc/php/7.0/cli/conf.d
/etc/php/7.0/fpm/conf.d

i deleded as decribe the wrong ioncube-loader.ini
and put a new right ioncube-loader.ini in these directories.

; Enable ionCube Zend extension module
zend_extension=ioncube_loader_lin_7.0.so
 
Hey guys, I have the same problem. I get a mail every minute. Sitting at about 40.000 mails currently.

I can't find anything related to ionCube in these directories:

/etc/php/7.0/apache2/conf.d/
/etc/php/7.0/cgi/conf.d
/etc/php/7.0/cli/conf.d
/etc/php/7.0/fpm/conf.d

Please help! The errors started after a Plesk update, just like described above. Here are the errors I am getting:

Code:
PHP Warning:  PHP Startup: Unable to load dynamic library 'openssl' (tried: /opt/plesk/php/7.3/lib/php/modules/openssl (/opt/plesk/php/7.3/lib/php/modules/openssl: cannot open shared object file: No such file or directory), /opt/plesk/php/7.3/lib/php/modules/openssl.so (/opt/plesk/php/7.3/lib/php/modules/openssl.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Code:
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so: undefined symbol: zend_ce_countable
Failed loading /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so:  /usr/lib/php5/20131226/ioncube_loader_lin_7.3.so: undefined symbol: zend_ce_countable
 
That seems to be a bug in php-ioncube-loader or sessionclean !
- have default php version set to e.g. /opt/plesk/php/7.2/bin/php
- system php from distribution is e.g. /usr/bin/php7.0
- dpkg-reconfigure php-ioncube-loader will now install the php 7.2 version /usr/lib/php/20151012/ioncube_loader_lin_7.2.so for all the php 7.0 variants in the /etc/php/7.0/xxx directories
- /usr/lib/php/sessionclean does not use the php version set by update-alternatives (7.2) but this one: /usr/sbin/phpquery -V (7.0)
- as consequence /usr/lib/php/sessionclean crashes

How to fix that manually:
in /etc/php/<yourversion>/[cli|fpm|...]/conf.d/00-ioncube-loader-7.2.ini
change "zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.2.so" to "zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_X.Y.so" according to the result of /usr/sbin/phpquery -V

For the dev guys: Please dont let php-ioncube-loader install a 7.2 version in the 7.0 config files!

Thank you for your clear and detailed explanation.
It seems the problem occurs after each Plesk update.
Is there a way to set the default system php distribution (7.0) to the same one set by update-alternatives ?

On my system, I have :
Bash:
# php -v  => 7.3.22
# phpquery -V => 7.0
# grep zend_extension  /etc/php/7.0/*/conf.d/00-ioncube-loader-7.3.ini
/etc/php/7.0/apache2/conf.d/00-ioncube-loader-7.3.ini:zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.3.so
/etc/php/7.0/cgi/conf.d/00-ioncube-loader-7.3.ini:zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.3.so
/etc/php/7.0/cli/conf.d/00-ioncube-loader-7.3.ini:zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.3.so
/etc/php/7.0/fpm/conf.d/00-ioncube-loader-7.3.ini:zend_extension=/usr/lib/php/20151012/ioncube_loader_lin_7.3.so

# sed -i "s/ioncube_loader_lin_7.3/ioncube_loader_lin_7.0/" /etc/php/7.0/*/conf.d/00-ioncube-loader-7.3.ini
fixes the problem, but only until the next update.

Thanks in advance for any help.
Marc
 
# sed -i "s/ioncube_loader_lin_7.3/ioncube_loader_lin_7.0/" /etc/php/7.0/*/conf.d/00-ioncube-loader-7.3.ini
fixes the problem, but only until the next update.

Doesn't work for me, since I don't have any .ini files that have the ioncube name in it in any directory under /etc/php/7.3/*
 
Doesn't work for me, since I don't have any .ini files that have the ioncube name in it in any directory under /etc/php/7.3/*

I guess you should edit files under the directory of the PHP system distribution (eg. /etc/php/7.0 not /etc/php/7.3)

In the command above:
# sed -i "s/ioncube_loader_lin_7.3/ioncube_loader_lin_7.0/" /etc/php/7.0/*/conf.d/00-ioncube-loader-7.3.ini
replace "7.0" with your original distribution version

HTH
 
When running the cronjob of my Matomo instance, I get the following errors after upgrading Plesk from Ubuntu 16 to Ubuntu 18 and then to Ubuntu 20. I can confirm this is no Matomo error and is caused of the upgrade.

Code:
Empty or invalid response 'Failed loading /usr/lib/php/20190902/ioncube_loader_lin_7.2.so:  /usr/lib/php/20190902/ioncube_loader_lin_7.2.so: undefined symbol: _zval_ptr_dtor

What I already did:

  • Changed to the correct path in /etc/php/7.0/[apache2/conf.d/cli/fpm/cgi]/00-ioncube-loader-7.2.ini:
    Code:
    ; Important: if you experience extension loading errors after PHP upgrade, please run "dpkg-reconfigure php5-ioncube-loader" to update ionCube extension configuration; comment out next line to disable ionCube Zend extension in php
    zend_extension=/usr/lib/php/20190902/ioncube_loader_lin_7.2.so
  • Saw that there is no 00-iconcube-loader-7.2.ini file in /etc/php/7.2/*
  • Saw that there is no folder for PHP 7.3, but PHP 7.3.29 is installed
  • Did the same as in 7.0 for the 7.4 folder, the contaned ioncube loader file is also 00-ioncube-loader-7.2.ini (shouldn't that be 7.4)?
Are there any steps I can do here? Thanks!
 
Back
Top