Po aktualizacji systemu GLPI do wersji 10.0.16 zmienił się schemat tabeli glpi_itils_projects, przez co przestała działać poprawnie jedna z wtyczek o nazwie generic object.

Zastosowałem poniższe rozwiązanie:

  1. najpierw sprawdziłem integralność bazy danych komendą:
    php bin/console database:check_schema_integrity
    co poskutkowało komunikatem:
    Schemat tabeli różni się dla tabeli “glpi_itils_projects”.
    — Oczekiwany schemat bazy danych
    +++ Bieżący schemat bazy danych
    @@ @@CREATE TABLE glpi_itils_projects (
    id int NOT NULL AUTO_INCREMENT,
    items_id int unsigned NOT NULL DEFAULT 0,
    changes_id int NOT NULL DEFAULT 0,
    itemtype varchar(100) NOT NULL DEFAULT ”,
    projects_id int NOT NULL DEFAULT 0,
    PRIMARY KEY (id),UNIQUE KEY unicity (itemtype,items_id,projects_id),
    KEY projects_id (projects_id)
    )
  2. w kolejnym etapie należało wpisać następujące formuły w mysql:
    ALTER TABLE glpi_itils_projects CHANGE changes_id items_id int(11) NOT NULL DEFAULT ‘0’;

    ALTER TABLE glpi_itils_projects ADD UNIQUE unicity (itemtype, items_id, projects_id);
  3. W ostatnim etapie należy zaktualizować kolumny klucza głównego/obcego:
    php bin/console migration:unsigned_keys

Po aktualizacji bazy MariaDB do wyższej wersji, klient Zabbix`a ogłosił błąd jak w temacie. Wystarczyło wykonać następujące komendy aby dalej ruszyło:

  1. Użytkownik który łączy się do Mysql – u mnie jest to zabbix. Zatem najpierw sprawdzam do jakich hostów został przydzielony w bazie:

    mysql -u root -p

    SELECT host FROM mysql.user WHERE User = ‘zabbix’;

    +———–+
    | Host |
    +———–+
    | localhost |
    +———–+


    Widzimy tutaj, że użytkownik zabbix ma dostęp tylko do localhost, więc musimy dodać go do 127.0.0.1, robiąc to w następujący sposób:

    show grants for ‘zabbix’@’localhost’; funkcja ta sprawdza przywileje;

    Przydzielamy uprawnienia dla 127.0.0.1:

    GRANT PROCESS, SHOW DATABASES, BINLOG MONITOR, SHOW VIEW, SLAVE MONITOR ON . TO 'zabbix‘@’127.0.0.1’ IDENTIFIED BY PASSWORD ‘tu wpisz swoje hasło’

Poniższe komendy pozwolą na aktualizację PHP 7.0 do wersji 7.4 dla Debian 9:

apt-get update && apt-get upgrade

apt-get -y install ca-certificates apt-transport-https

wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -

echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list

apt-get update

apt-get -y install php7.4 php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-mysql php7.4-xml

php -v 


W nowej wersji PHPMyAdmin występuje błąd jak poniżej:

W powyższym przypadku musimy w terminalu znaleźć ścieżkę:

/usr/share/phpmyadmin/libraries/sql.lib.php

oraz zmienić w wierszu 613 następującą treść z:

|| (count($analyzed_sql_results['select_expr'] == 1)

na

|| (count($analyzed_sql_results['select_expr']) == 1