• 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 Cronjob notices issue after obsidian upgrade

Dennis Oppelt

Basic Pleskian
Hi
I need help
I am not a server tech but I have had a VPS for years to serve my friends websites. I rarely have used SSH
I use PLESK, and up till today, I used Plesk Onyx
(64 bit) (CentOS 6.10)

I had the latest updates, all was well

I updated to PLESK OBSIDIAN 18.0.20
I usually always update anything that is showing up as an available update

___________


after I did, everything was working fine
all sites work, all pHp scripts were working (I have many old and new pHp versions on the server but I only use 5.64 on 1 and 7.something (latest one) on another site
I have 1 depracated 5.3something version, but its not used, but installed



here is the issue

every hour I am getting a cronjob failure notice.

It is very annoying.
I tried to find the cronjob in 'scheduled tasks' section of 'tools and settings' in plesk, but could not find it.
I cannot shut off the notices.
I asked my support from my VPS provider and he said that its because my server is 64 bit, and my libraries are 32 bit, and that I should install 64 bit libraries

I have no idea how to do that.
If this is not an issue, I just want to shut off the notices.

here is the email notice I get, below, if you have an idea as to how to fix this or shut off the notices if the notices are about something that is not not a big issue
please let me know,

thanks, Dennis
here is the error message:

_____________________________

/etc/cron.hourly/plesk-php-cleanuper:

Failed loading /usr/local/Zend/lib/ZendExtensionManager.so: /usr/local/Zend/lib/ZendExtensionManager.so: wrong ELF class: ELFCLASS32
 
Hello,

Some PHP has enabled ZendExtensionManager.so, which cannot be loaded, as it has different architecture. Best way to resolve this - it's find where this faulty extension is loaded, and comment it.

It probably loaded in some /etc/php.d/*.ini /etc/php.ini or /opt/plesk/php/*/etc/php.d/*.ini /opt/plesk/php/*/etc/php.ini.
 
Hi, thanks, I found something in /opt/plesk/php/*/etc/php.d/*.ini

it was a list of about 5 pHp versions that I use, so I clicked on 5.6 folder and there is about 20 or more ini files in there,
I have no idea which one to look at...
the attached image shows about 3/4 of them

I am not an expert
any ideas?
thanks
 

Attachments

  • 763.jpg
    763.jpg
    86.1 KB · Views: 17
Login to your Plesk server as root via ssh connection and run command:

# grep -R ZendExtensionManager.so /opt/plesk/php/*/etc/*

You should see line with the path to file which contains a record with "ZendExtensionManager.so"
Open this file in a text editor and remove/comment this record.
 
thanks Igor, I am not a server IT but I have used ssh before. I logged in as root, and entered the command as you suggested and pressed 'enter' but nothing came up as you can see in the screen capture below, unless I did something wrong? thanks
 

Attachments

  • 764.jpg
    764.jpg
    33.3 KB · Views: 14
Hi, thanks
I tried it without the extra prompt, but got no result, as shown below
 

Attachments

  • 765.jpg
    765.jpg
    51.8 KB · Views: 13
I tried it without the extra prompt, but got no result, as shown below
So it appears to mean that the ZendExtensionManager.so itself doesn't exist in the original stated location. You could confirm this by by physically looking (FTP / SFTP / FileManger) in /usr/local/Zend/lib/ Just a guess, but there's a missing or unacceesable ZendExtensionManager.so in that location, which is a factor in causing the error that you originally posted (which requires ZendExtensionManager.so in order to meet the request) @IgorG will update you tomorrow no doubt to finialise this, but you could confrm the existence (or not) of ZendExtensionManager.so in that location meantime
 
Last edited:
Try also (covers additional locations):
Code:
grep -R ZendExtensionManager.so /etc/php.d/ /etc/php-fpm.d /etc/php.ini

Edited:

To see if the file exists:
Code:
ls -als /usr/local/Zend/lib

To see if the file belongs to a package (might show several possible sources):
Code:
yum whatprovides /usr/local/Zend/lib/ZendExtensionManager.so
 
Last edited:
Hi

I went back in and the file does exist in the path of /usr/local/Zend/lib/

below is a screen cap. 2 files and 2 directories
the path is shown in the lower left corner
 

Attachments

  • 766.jpg
    766.jpg
    58.1 KB · Views: 12
I went back in and the file does exist in the path of /usr/local/Zend/lib/
The post by @Ales was more useful than our last post if you ran those commands. Sorry, we'd already checked our own /usr/local/Zend/lib/ for reference and it doesn't exist, but, had forgotten that you'd already posted you have several old PHP releases too (we ony use php 7.2 & 7.3) meaning our assumption was flawed, because it's more than likley, that it's one of the older php releases** that's calling this.

Anyway, now you've checked and ZendExtensionManager.so does exist in that location, the post by @mizar is the one you need. Within those .ini files is a line (or lines) that needs commenting out to stop your error / warning. If you search Stack Overflow - Where Developers Learn, Share, & Build Careers there's several different proven ways of searching, but @IgorG will have the most useful ways related to Plesk

Edit: ** Related to THIS early preview release for Obsidian in which 'PHP versions 5.6 and 7.0 ~ ~ were also removed from the default set of components in the stable Plesk release'
 
Last edited:
sorry, I do not know what to do. I see 2 files there that look like they are encrypted,

the 2 directories contain sub directories that have php versions that are very old (4.* to 5.1 or so) even though the oldest I use is 5.64)
and in Plesk, I disabled those oldest ones and tried to delete them but they do not delete they show up with an 'red X' beside them.

I coud look inside these subdirectories but there is a lot of ini files to look at,
and I do not know which file nor which line to delete or comment out
 
one last question: as I cannot afford to hire someone, and my VPS provider support does not cover this..

as I said before, the file ZendExtensionManager.so
does exist in /usr/local/Zend/lib/

but it is all encrypted and unreadable to me,


here is another thing I found......

if I go to..... /opt/plesk/php/

I see subdirectories of different versions of pHp
(5.6, 7.3. etc.)

If I click on 5.6, the oldest
I then click on 'etc' directory
then I see a php.ini file

the file is attached

is there anything in that file I could delete to stop these emails? (I have read about the php.ini files on the internet)

I would have to do the same to the other php version php.ini files as well I imagine?

thanks
 

Attachments

  • phpini.pdf
    76.4 KB · Views: 3
I found something else, and got the clue from the subject field of all my Hourly notifications
which was: Cron <root@server> run-parts /etc/cron.hourly


if I go to: etc/cron.hourly

there is a file called
plesk-php-cleanuper

it's contents are:
__________________


#!/bin/sh

# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See ${maxlifetime}

# Look for and purge old sessions every hour


pgrep -f ".*$0$" | grep -qv $$ && exit 0

renice 19 -p $$ >/dev/null 2>&1

[ -x /usr/lib64/plesk-9.0/maxlifetime ] && [ -d /var/lib/php/session ] && /usr/lib64/plesk-9.0/php_session_cleaner /var/lib/php/session $(/usr/lib64/plesk-9.0/maxlifetime)
__________________

I am just thinking outload,

I only use pHP on 2 domains
1 uses version 7.3.1

the other uses 5.6.4 (outdated)

I suspect that old one is using 32 libraries bit but my system is 64 bit.

Dennis
 
You seem to have overlooked a previous post of mine.

This will search for references of the ZendExtensionManager.so in additional locations:
Code:
grep -R ZendExtensionManager.so /etc/php.d/ /etc/php-fpm.d /etc/php.ini

This will tell you if the file belongs to a package:
Code:
yum whatprovides /usr/local/Zend/lib/ZendExtensionManager.so

Please post the results of the above commands.
 
sorry, I must have missed that

the first command:
grep -R ZendExtensionManager.so /etc/php.d/ /etc/php-fpm.d /etc/php.ini

gave me this:

login as: root
[email protected]'s password:
Last login: Sun Oct 27 05:56:55 2019 from 201.192.166.147
[root@server ~]# grep -R ZendExtensionManager.so /etc/php.d/ /etc/php-fpm.d /etc/php.ini
/etc/php.d/zend_extensions_psa.ini:zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
grep: /etc/php-fpm.d: No such file or directory
/etc/php.ini:;zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so ; moved to conf.d/zend_extensions_psa.ini by Plesk
[root@server ~]#
 
the second command:
yum whatprovides /usr/local/Zend/lib/ZendExtensionManager.so

gave me this:

yum whatprovides /usr/local/Zend/lib/ZendExtensionManager.so
Loaded plugins: fastestmirror, security
Determining fastest mirrors
* base: mirror.its.sfu.ca
* extras: mirror.it.ubc.ca
* updates: centos.ca-west.mirror.fullhost.io
PLESK_17_PHP56 | 2.9 kB 00:00
PLESK_17_PHP56/primary_db | 14 kB 00:00
PLESK_17_PHP70 | 2.9 kB 00:00
PLESK_17_PHP70/primary_db | 15 kB 00:00
PLESK_17_PHP71 | 2.9 kB 00:00
PLESK_17_PHP71/primary_db | 17 kB 00:00
PLESK_17_PHP72 | 2.9 kB 00:00
PLESK_17_PHP72/primary_db | 19 kB 00:00
PLESK_17_PHP73 | 2.9 kB 00:00
PLESK_17_PHP73/primary_db | 19 kB 00:00
PLESK_18_0_20-extras | 2.9 kB 00:00
PLESK_18_0_20-extras/primary_db | 34 kB 00:00
base | 3.7 kB 00:00
base/primary_db | 4.7 MB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 29 kB 00:00
plesk-ext-grafana | 2.9 kB 00:00
plesk-ext-grafana/primary_db | 52 kB 00:00
plesk-migrator | 2.9 kB 00:00
plesk-migrator/primary_db | 6.7 kB 00:00
plesk-migrator-tp | 2.9 kB 00:00
plesk-migrator-tp/primary_db | 1.2 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 6.6 MB 00:00
PLESK_17_PHP56/filelists_db | 11 kB 00:00
PLESK_17_PHP70/filelists_db | 12 kB 00:00
PLESK_17_PHP71/filelists_db | 19 kB 00:00
PLESK_17_PHP72/filelists_db | 19 kB 00:00
PLESK_17_PHP73/filelists_db | 19 kB 00:00
PLESK_18_0_20-extras/filelists_db | 202 kB 00:00
base/filelists_db | 6.4 MB 00:00
extras/filelists_db | 24 kB 00:00
plesk-ext-grafana/filelists_db | 883 kB 00:00
plesk-migrator/filelists_db | 22 kB 00:00
plesk-migrator-tp/filelists_db | 586 B 00:00
updates/filelists_db | 4.7 MB 00:00
No Matches found
[root@server ~]#
 
someone long ago told me to also try this command:

login as: root
[email protected]'s password:
Last login: Sun Oct 27 05:57:41 2019 from 201.192.166.147
[root@server ~]# crontab -e
---------------------
and to do this:
4. Add the command to dump the result instead of email it (1,16,31,46 * * * * /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1)
5. Repeat for each line that doesn't need an email notification


but I did not understand it..
here is the result of the command anyway..


MAILTO=""
47 23 * * * /usr/sbin/ntpdate -b -s higain.ca
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/tmp/crontab.j3Nchd" 2L, 56C
 
Back
Top