Moin!
Hallo,
http://www.php.net/manual/de/pdo.connections.php
schlägt im catchblock vor:
print "Error!: " . $e->getMessage() . "<br/>";
Nein, "vorschlagen" würde ich das nicht nennen. "Demonstrieren der einfachsten Methode, die Sinnvolles tut im Sinne eines Beispiels" wäre zutreffender.
Und schreibt, dass sonst u.U. auch das Passwort im Backtrace mit veröffentlicht würde. O.g. gibt aber bereits DB-Username und DB-Name aus. Ist das sinnvoll? Oder besser schlicht:
<h1>Keine Verbindung mit der Datenbank möglich</h1>.. bitte schicken sie eine Mail an mich@example.com.
Es ist niemals sinnvoll, den User einer Live-Installation einer Website mit Dingen zu belästigen, die ihn weder etwas angehen, noch die er korrigieren kann.
Sinnvoll ist, den Request beim Scheitern der DB-Connection mit HTTP-Status "500 Internal Server Error" zu beantworten (für die Suchmaschinen etc.), eine allgemeine Unverfügbarkeitsmeldung mitzuschicken (keine Details), und dafür zu sorgen, dass der Admin informiert wird. Wie das im Detail geschieht, ist offen.
Du willst vermutlich nicht bei JEDEM fehlgeschlagenen Request direkt eine Mail losschicken, weil sonst dein Postfach schnell gefüllt ist. Schlau ist eine Monitoring-Lösung wie z.B. Nagios, die regelmäßig die Verfügbarkeit von Dingen prüft und ggf. Benachrichtigungen über Statusveränderung losschickt.
- Sven Rautenberg