PHP Upgrade

I have a distributed implementation of Librenms under Ubuntu :

  • 1 server with DB and Apache2
  • 1 rrd server
  • 5 pollers

After receiving the notifications regarding PHP and Python version, and the alert " Error: Python requirements not met", i tried to upgrade everything

./validate.php output prior to upgrade :
/opt/librenms# ./validate.php

Component Version
LibreNMS 1.63-56-g55e70be6b
DB Schema 2020_04_13_150500_add_last_error_fields_to_bgp_peers (430)
PHP 7.2.24-0ubuntu0.18.04.4
Python 3.6.9
MySQL 10.1.44-MariaDB-0ubuntu0.18.04.1
RRDTool 1.7.0
SNMP NET-SNMP 5.7.3

====================================

[OK] Composer Version: 1.10.6
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

I tried to upgrade to PHP 7.3
I have installed php modules, correct timezone in PHP 7.3 files, enable php 7.3 for apache2
But i have some errors with memcached.

Here is validate.php output :

/opt/librenms# ./validate.php
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Component Version
LibreNMS 1.63-56-g55e70be6b
DB Schema 2020_04_13_150500_add_last_error_fields_to_bgp_peers (430)
PHP 7.3.17-1+ubuntu18.04.1+deb.sury.org+1
Python 3.6.9
MySQL 10.1.44-MariaDB-0ubuntu0.18.04.1
RRDTool 1.7.0
SNMP NET-SNMP 5.7.3

====================================

[OK] Composer Version: 1.10.6
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘memcached.so’ (tried: /usr/lib/php/20180731/memcached.so (/usr/lib/php/20180731/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20180731/memcached.so.so (/usr/lib/php/20180731/memcached.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
[FAIL] Missing PHP extension: memcached
[FIX]:
Please install memcached

I already have PHP memcached extension installed :

/opt/librenms# apt install php-memcached
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
php-memcached est déjà la version la plus récente (3.1.4+2.2.0-1+ubuntu18.04.1+deb.sury.org+20191129).

I have forced the system to use PHP 7.2 using “update-alternatives --set php /usr/bin/php7.2”
And everything is OK

Do you have a kind of process to not forget anything while upgrading php version ?

Likely incorrect path defined for loading the module itself, check your php config where it tries to load the memcached module and make sure it points to where memcached.so actually exists.

FYI, PHP 7.2 is supported. It is just that your python3 is missing some required libraries.

pip3 install -r /opt/librenms/requirements.txt will fix your issue.