Contao-Camp 2024
Ergebnis 1 bis 16 von 16

Thema: Contao unzugreifbar wegen PHP-7-Umstellung. Datenbank-Passwort im Klartext sichtbar

  1. #1
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Trauriges Gesicht Contao unzugreifbar wegen PHP-7-Umstellung. Datenbank-Passwort im Klartext sichtbar

    Hi,

    über's Wochenende ist meine Contao-Installation komplett nicht mehr zugreifbar.

    Es erscheint nur die Meldung:

    Warning: mysq_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in system/modules/core/library/Contao/Database/Mysql.php on line 47
    [... siehe Anhang]

    ... wobei dann meine Domainfactory-Kundennummer und der Datenbankname und mein DATENBANK-KENNWORT im Klartext angezeigt werden.
    ... jedem Website-Nutzer!!!

    Was kann ich tun, um mein Contao zu retten?

    Zunächst einmal habe ich das Datenbank-Passwort geändert und die Domain intern auf ein leeres Verzeichnis umgeleitet, damit der obige Text nicht mehr angezeigt wird.

    Ich bitte die Community um Hilfe, denn in Google konnte ich nichts passendes finden.

    Danke!
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Du musst in deiner system/config/localconfig.php die Zeile
    PHP-Code:
    $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQL'
    auf
    PHP-Code:
    $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQLi'
    ändern.

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Welche Contao-Version nutzt du? Um PHP 7 nutzen zu können musst du mindestens auf 3.5.40 updaten oder besser 4.4 oder 4.9. und im Fall von 3.5.40 noch in der localconfig.php den Datenbanktreiber auf MySQLi umstellen anstatt MySQL. Um weitere anzeigen von Datenbankzugangsdaten im Frontend zu vermeiden solltest du bei einer produktiven Seite eben die Ausgabe von Fehlern im Frontend deaktivieren. Bei Contao 4.4 oder 4.9 ist beides automatisch mit erledigt bzw hinfällig. 3.5.40 erwähne ich hier nur, weil ein Update bis dahin in der Regel einfacher ist als auf Contao 4. Allerdings bekommt auch Contao 3.5. mittlerweile keine Sicherheitsupdates mehr und ist somit unsicher!

  4. #4
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Standard

    Hi, vielen Dank für das turboschnelle Feedback.

    Die Änderung in der localconfig.php habe ich vorgenommen... aber das hat (scheinbar) nichts gebracht.

    Die Datei sieht derzeit so aus:

    Code:
    <?php
    ### INSTALL SCRIPT START ###
    ...
    $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQLi';
    ...
    ### INSTALL SCRIPT STOP ###
    Vielleicht dauert es eine Weile, bis das aktiv wird?

    Das die Änderung jedenfalls prinzipiell angekommen ist, dass kann ich daran sehen, dass das neue Datenbank-Passwort nun ebenfalls offiziell genannt wird (zumindest die ersten 15 Zeichen).

    Die genaue Contao-Version hätte ich gerne genannt, aber ich kann die Website ja leider nicht starten, um das herauszufinden.

  5. #5
    Contao-Fan Avatar von Ainschy
    Registriert seit
    24.06.2009.
    Ort
    Wenden
    Beiträge
    793
    Partner-ID
    5666
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von NiVo Beitrag anzeigen

    Die genaue Contao-Version hätte ich gerne genannt, aber ich kann die Website ja leider nicht starten, um das herauszufinden.
    Im Zweifel lässt sich Contao Version in der CHANGELOG.md im Ordner system/docs einsehen.

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    oder in der system/config/constants.php Dort sollte etwas ähnliches wie

    Code:
    /**
     * Core version
     */
    define('VERSION', '3.5');
    define('BUILD', '40');
    define('LONG_TERM_SUPPORT', true);
    zu finden sein.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    1)
    Das das Passwort angezeigt wird, liegt wahrscheinlich an Dir selbst.
    In der /system/config/localconfig.php hast Du die Fehlermeldungen eingeschaltet (sollte man im Live-System nicht machen)
    PHP-Code:
    $GLOBALS['TL_CONFIG']['displayErrors'] = true
    Wenn Du die Zeile auf false setzt, sollten diese Meldungen weg sein.

    2)
    Die Version findest Du per FTP in der Datei /system/config/constants.php in Zeile 20 oder in der Gegend.
    PHP-Code:
    define('VERSION''3.x');
    define('BUILD''xx'); 

  8. #8
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oder auch ganz genau in system/config/constants.php

    Edit: Ich will ja nicht hoffen, dass das noch eine 2.x oder gar ein Typolight ist.

  9. #9
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Information

    OK, danke für's Feedback.

    Es ist Contao 3.5.40.

    Die Fehlermeldung ist abgeschaltet und dementsprechend kommt jetzt die neutrale Contao-Meldung "Es ist ein Fehler aufgetreten".

    Soweit schon mal sehr gut.

    ... dann wäre jetzt nur noch interessant zu wissen, warum der veränderte Verweis auf

    PHP-Code:
    $GLOBALS['TL_CONFIG']['dbDriver'] = 'MySQLi'
    noch nicht das gewünschte Ergebnis brachte.

    Und falls ich dann später weiter experimentiere: Wo kann ich denn dann alternativ die Fehlermeldung einsehen, um sie hier ggf. posten zu können?

    Ich freue mich auf Vorschläge...

  10. #10
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Zitat Zitat von NiVo Beitrag anzeigen
    Wo kann ich denn dann alternativ die Fehlermeldung einsehen, um sie hier ggf. posten zu können?
    Die Fehlermeldungen sollten unter system/logs/ zu finden sein:
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  11. #11
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du musst natürlich auch sämtliche installierte Drittanbietererweiterungen aktualisieren, sofern welche installiert sind. Kommst Du inzwischen ins Backend rein? Ansonsten müsstest Du eben das Laden der Drittanbietererweiterungen via
    PHP-Code:
    $GLOBALS['TL_CONFIG']['coreOnlyMode'] = true
    in Deiner system/config/localconfig.php deaktivieren. Einzelne Erweiterungen lassen sich auch via .skip Datei deaktivieren.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  12. #12
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Standard Leider noch keine Besserung hinsichtlich der Datenbank-Anbindung

    Hi,

    den Core-Only-Modus habe ich aktiviert ("true"), aber es bleibt im Prinzip bei der Fehlermeldung:

    Code:
    PHP Warning: mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /kunden/4xxxxx_xxxxx/webseiten/system/modules/core/library/Contao/Database/Mysqli.php on line 46
    
    #0 [internal function]: __error(2, 'mysqli::real_co...', '/kunden/xxxxx_...', 46, Array)
    
    #1 /kunden/422846_41189/webseiten/system/modules/core/library/Contao/Database/Mysqli.php(46): mysqli->real_connect('mysql5.datensch...', 'dbxxxxx_1', 'xxxxx...', 'dbxxxxx_1', 3306, '')
    ... zwar hat sich der Wortlaut im Detail etwas verändert (weil ich auf 'MySQLi' geändert hatte), aber die Website ist unverändert nicht darstellbar.

    Hat noch jemand einen Tipp für mich

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Diese Fehlermeldung bedeutet, dass keine Verbindung zum MySQL Server aufgebaut werden kann. Also entweder ist dbHost nicht erreichtbar oder falsch.

  14. #14
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Standard Problem gelöst! Es hatte NICHTS mit PHP 7 zu tun.

    Vielen Dank, ich habe mir die Datenbank-Einstellungen genau angeschaut.

    Und siehe da: Der mySql-Hostname hat sich geändert (weil ich eine Domain gekündigt hatte, die dort aber noch eingetragen war). Tricky.

    Ein Screenshot zeigt die Stelle, wo ich die Veränderung soeben festgestellt hatte. Also habe ich diesen neuen Hostnamen in der localconfig.php eingetragen, und sofort lief es wieder.

    Vielen herzlichen Dank an alle, die sich gemeldet und gekümmert hatten !!!


    P.S. Vielleicht wäre es möglich, dass Contao eine etwas andere Fehlermeldung schickt? Eher so im Sinne "Unter dem mySQL-Hostnamen 'xxx' sind keine Datenbanken zu finden".
    Angehängte Grafiken Angehängte Grafiken

  15. #15
    Contao-Nutzer
    Registriert seit
    24.08.2018.
    Ort
    Magdeburg
    Beiträge
    131

    Standard

    Der Fehler sagt ganz klar, dass der Name oder Dienst nicht bekannt ist. Entweder spinnt die DNS-Auflösung, der Dienst steht - wieso auch immer - nicht zur Verfügung oder dein MySQL-Host ist falsch.

    Eventuell hilft das weiter: https://www.df.eu/de/support/df-faq/...banken/#c23670

    Prüfe einmal, ob du überhaupt auf den MySQL-Server kommst - über das df-phpMyAdmin. Danach kannst du den Zugang mit dem aktuellen Host aus deine Kundenportal z.B. mit Adminer vom Webspace aus testen. Geht phpMyAdmin, aber Amdiner nicht, kannst du dich an den Support wenden.

    Was mir noch einfällt: Checke mal ob allow_url_fopen = 1 in der php.ini das Verhalten ändert

  16. #16
    Contao-Nutzer
    Registriert seit
    25.02.2015.
    Beiträge
    9

    Standard

    Hi,

    danke für die Erläuterungen. Ja es war der Host... siehe mein vorheriges Posting.

    Das Thema ist durch und erledigt. Und ich bin happy.

    Kann ich diesen Forumseintrag irgendwie als "erledigt" markieren und ggf. schließen?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •