LDAP-Sync wirft Fehler
-
Hallo, wir haben kürzlich auf I-doit Version 28 upgegraded und seitdem erscheint beim ausführen der LDAP-Synchronisation folgender Fehler:
PHP Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in /var/www/html/src/classes/components/isys_component_database_mysqli.class.php:695
Ich habe die PHP-Version des Servers auf 8.3.2 aktualisiert, das idoit-System zeigt allerdings weiterhin Version 7.4 an, sämtliche Versuche meinerseits, die Version umzustellen, resultierten bisher in einer Nicht-Nutzbarkeit des Systems.
Wo genau liegt hier der Fehler bzw. was mache ich falsch?
-
Hallo @ThorstenWilk
ist es möglich das sich die installierte PHP Version nur auf der CLI auswirkt, der Apache aber weiterhin die alte Version nutzt? Das kann mal vorkommen, das dort verschiedene Versionen laufen.
Darüber hinaus muss ich noch kurz einwerfen das i-doit noch nicht mit PHP 8.3 kompatibel ist - wir stellen mit der nächsten Version (i-doit 29) gerade erst die Kompatibilität zu PHP 8.2 her
PHP 8.3 werden wir voraussichtlich erst ab Q2 / Q3 unterstützen - das hat u.a. auch damit zu tun das wir sämtlichen Partnern und Entwicklungspartnern die Zeit geben wollen ihre eigenen Add-ons zu aktualisieren bevor wir diese Kompatibilität offiziell aussprechen.
Ich würde dir deswegen vorschlagen temporär auf PHP 8.2 zu wechseln - das klappt auch (trotz der fehlenden offiziellen Aussage) sehr gut mit i-doit 28
Viele Grüße
Leo -
@ThorstenWilk Hallo Thorsten,
Hast du nur version 8.3 installiert und diese auch aktiviert. BZW habt ihr auf den server eventuel in der Config eingestellt das was unnter /var/www/html/... ist immer nur mit PHP 7.4 ausgeführt werden darf.Vieleicht hilft dies:
Kopiere der Benutzer datei aus der alten PHP version
cp /etc/php/7.4/mods-available/i-doit.ini /etc/php/8.1/mods-available/Umschalten der PHP version
update-alternatives --set php /usr/bin/php8.1 | a2enmod php8.1 | a2dismod php7.4 | systemctl restart apache2Ersetzte hier 8.1 durch 8.3 sonst bekommst du eine Fehlermeldung das des System dies nicht finden kann.
-
Danke schonmal für die Hilfe!
Ich habe die dismod und enmod-Befehle jetzt schon mehrfach in verschiedenen Versionen versucht und bin auch Schritt für Schritt nach der Beschreibung in der Knowledge Base vorgegangen (link), aber in der Environment-Datei wird immer noch an allen Stellen 7.4 als die verwendete PHP-Version angegeben. Gibt es da noch irgendwas, was ich übersehe?
viele Grüße!
-
@ThorstenWilk eventuel wurde wie erwähnt php5.6 für das i-doit verzeichnis gewählt.
vi /etc/apache2/apache2.conf
Hier könnte es einen eintrag geben der ungefähr so auschauen müsste
-
@Florian-0
Zu info den Eintag sagt aus das alles was in den Pfad enthalten ist mit php 5.6 gehostet wird.
Dieser müsste auskommentiert werden und dann sollte es funktionieren. -
Also, ich habe die PHP-Version 8.2 jetzt sowohl auf dem Ubuntu-System als auch im Apache-Server zu laufen, trotzdem möchte I-doit PHP nicht auf die aktuell installierte Version umstellen. Gibt es noch andere Maßnahmen, die hierbei durchzuführen/zu beachten sind?
-
Hallo @ThorstenWilk,
das hat nichts mit i-doit sondern mit der Webserver Konfiguration zu tun.
Hast du mal die Vorschläge von @Florian-0 ausgeführt?
Ich denke er ist hier auf der richtigen Spur.Ansonsten gerne mal die VHost Konfiguration teilen sowie die .htaccess aus dem i-doit Ordner.
Gerne anonymisieren.