PHP Hostname nicht korrekt


12

Wir haben eine Anwendung, die seit ca. 2 Jahren ohne Probleme ausgeführt wird.

Als ich heute Morgen auf die Website kam, wurde eine Fehlermeldung angezeigt:

Session: connection failed

Ich überprüfte die Datenbankverbindungen, überprüfte den Benutzer, überprüfte die Bewilligungen für den Benutzer, alles sah gut aus.

Ich habe eine Testseite mit den Verbindungsinformationen in der Datei .inc.xml erstellt

Habe einen MySQL-Verbindungsfehler.

Dies ist die Originaldatei:

   <TYPE>mysql</TYPE>
        <HOST>dbl</HOST>
        <USER>dbuser</USER>
        <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>

Der Hostname des Servers ist nicht dbl

Ich habe die zweite Zeile folgendermaßen geändert:

   <TYPE>mysql</TYPE>
        <HOST>localhost</HOST>
        <USER>dbuser</USER>
        <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD>

Es hat sich gut verbunden.

Dieselbe Änderung an der ursprünglichen .inc.xml-Datei vorgenommen und die Anwendung wurde gesichert und lief einwandfrei.

Meine Fragen):

Ich habe die Audit-Protokolle, Verbindungen und Abfragen überprüft. Das System hat seit ca. 3 Wochen keinen Zugriff mehr.

Die .inc.xml wurde zuletzt vor über einem Jahr geändert.

Warum würde die Anwendung plötzlich aufhören, dbl als Host zu verwenden?

Woher kommt der dbl-Hostname?

Systemlayout:

[root@acpr-web-x ~]# cat /proc/version
Linux version 2.6.32-358.2.1.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Wed Feb 20 12:17:37 EST 2013

[root@acpr-web-x ~]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built:   Aug 15 2014 03:02:07

[root@acpr-web-x ~]# php -v
PHP 5.3.3 (cli) (built: Oct 23 2014 06:58:46)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Mysql Server version: 5.1.73-log Source distribution

Antworten:


11

Meine erste Vermutung wäre / etc / hosts, das DNS überschreiben kann (sofern es für den Host vorhanden ist) und Forward-DNS fast vollständig ersetzt, wenn es fehlt. Aus irgendeinem Grund befand sich dieser Host (dbl) in / etc / hosts und war es auch nicht.

Zweitens, sagen wir, /etc/resolv.conf hat die Suchoption für die lokale Domain verloren, so dass dbl.foo.com aufgelöst wird, dbl jedoch nicht ... ebenfalls eine Möglichkeit.


Nachdem die Datei / etc / hosts überprüft wurde, wurde sie zuletzt am 29.01.2015 geändert, und der Eintrag dbl ist immer noch auf die richtige IP-Adresse gerichtet. Die Datei /etc/resolv.conf wurde zuletzt am 08.11.2012 geändert und sieht korrekt aus.
Anthony Fornito

Ok dann ... wie wäre es damit? Aus MySQL heraus: use mysql; select user,host,password from userDies kann eine Änderung des Hosts aufdecken, von dem aus der Benutzer 'dbuser' auf die Datenbank zugreifen darf. Die möglichen Ursachen sind endlich, sollten dies feststellen können. Ich würde einen kurzen Check auf /etc/nsswitch.conf machen, aber diese Datei ist heutzutage irgendwie undurchsichtig und daher sind die Chancen, dass sie sich ändert, gering, aber es lohnt sich ein Check (es kontrolliert die Reihenfolge, in der sich die Dinge auflösen) System).
Jason Chodakowski
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.