laster
Goto Top

Kein LDAP-Zugrigff mit PHP8.2 nach do-release-upgrade auf 20.04.6

Hallo,

nach Upgrade von Ubuntu Server 18.04.6 auf 20.04.6 bekomme ich den Zugriff aus PHP auf das AD per LDAP nicht mehr hin.
Webserver nginx 1.18.0
PHP 8.2.10
AD Windows Server 2016

Die PHP Seite bleibt beim Aufruf von
ldap_connect('ldap://192.168.1.1:389');  
'stehen'.
Im nginx error.log steht:

FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Object of class LDAP\Connection could not be converted to string in /var/www/html/ldap-search.php:186
Stack trace:#0 {main} thrown in /var/www/html/ldap-search.php on line 186" while reading response header from upstream, client: 192.168.1.77, server: 192.168.1.1, request: "POST /ldap-search.php HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "192.168.1.1", referrer: "http://192.168.1.1/ldap-search.php"
In Zeile 186 wird ldap_connect aufgerufen.

Die Datei /run/php/php8.2-fpm.sock existier und die Rechte passen,
nginx -t bringt keine Fehler,
php -m listet auch das ldap Modul

Test an der PHP-Console liefert den selben Fehler:

php > echo ldap_connect('ldap://192.168.1.1:389');  
PHP Warning:  Uncaught Error: Object of class LDAP\Connection could not be converted to string in php shell code:1
Stack trace:
#0 {main}
  thrown in php shell code on line 1

Wie kann ich das Problem lösen bzw. noch nachschauen wo der Fehler liegt?

vG
LS

Content-ID: 72220556980

Url: https://administrator.de/contentid/72220556980

Ausgedruckt am: 24.11.2024 um 10:11 Uhr

Spirit-of-Eli
Spirit-of-Eli 25.09.2023 um 15:25:11 Uhr
Goto Top
Moin,

wie hast du denn die Konfig zur neuen Version übernommen. Hast du die Release Upgrade Notes vor dem Sprung gelesen?
Ggf. fehlt dir ein Modul oder die Konfig hat in der Syntax geädnert.

Gruß
Spirit
laster
laster 25.09.2023 um 15:28:56 Uhr
Goto Top
Habe die Konfig bei nginx beibehalten und die betreffende Zeile fastcgi_pass unix:/run/php/php8.2-fpm.sock; angepasst.
Spirit-of-Eli
Spirit-of-Eli 25.09.2023 um 15:32:20 Uhr
Goto Top
Zitat von @laster:

Habe die Konfig bei nginx beibehalten und die betreffende Zeile fastcgi_pass unix:/run/php/php8.2-fpm.sock; angepasst.

Und bei der PHP Konfig hast du nix angepasst? Das wird wohl nicht mit den Default Werten funktionieren.
Liege die Konfig Files mal nebeneinander und vergleich die.
laster
laster 25.09.2023 um 15:59:07 Uhr
Goto Top
PHP war vorher die Version 7.4 und habe ich nach dem Upgrade auf 8.2 aktualisiert. (generell funktioniert PHP, auch mit MySQL).
mbehrens
Lösung mbehrens 25.09.2023 um 20:06:11 Uhr
Goto Top
Zitat von @laster:

PHP war vorher die Version 7.4 und habe ich nach dem Upgrade auf 8.2 aktualisiert. (generell funktioniert PHP, auch mit MySQL).

Ein kurzer Blick ins Changelog zeigt, dass die Funktion seit 8.1.0 nun eine LDAP\Connection Instanz als Rückgabewert hat.
laster
laster 26.09.2023 um 11:05:32 Uhr
Goto Top
ja, das habe ich dann auch erkannt ...

Habe daraufhin auf die PHP-Version 7.4 herabgestuft.

Werde demnächst die PHP-Seiten ändern und wieder auf Version 8.2 gehen...

schönen Tag noch
LS