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 ([email protected]) (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
use mysql; select user,host,password from user
Dies 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).