Bonjour à tous
Hier après midi, pendant plusieurs heures certaines pages de mon site s'affichaient vides.
Il s'agissait de pages générées à partir de requêtes SQL, j'en déduis que la liaison entre le serveur web et le serveur de base de données ne fonctionnait plus, d'autant plus que la base elle même était accessible sans problème depuis phpMyAdmin.
Mon programme comprend une classe Database avec une fonction connect qui effectue la connexion:
la fonction "stop" affiche le nom du fichier php, le numéro de la ligne et les infos passées en aavant de terminer par die();
Si le programme avait détecté une erreur au moment de la connexion, on aurait donc dû avoir un message, ce qui ne s'est pas produit.
J'en déduis que
- soit il y a une erreur dans le code ci-dessus
- soit la fonction connect n'a pas répondu, sans doute faute d'un timeout dans l'implémentation du serveur web (???)
Qu'il y ait des incidents techniques, cela est malheureusement inévitable, mais que les utilisateurs n'aient aucune information à ce sujet et se retrouvent devant une page blanche est à proscrire.
Je cherche donc un moyen de contourner le problème et d'alerter les utilisateurs.
Vos avis sont fortement souhaités!
Hier après midi, pendant plusieurs heures certaines pages de mon site s'affichaient vides.
Il s'agissait de pages générées à partir de requêtes SQL, j'en déduis que la liaison entre le serveur web et le serveur de base de données ne fonctionnait plus, d'autant plus que la base elle même était accessible sans problème depuis phpMyAdmin.
Mon programme comprend une classe Database avec une fonction connect qui effectue la connexion:
function connect() {
try {
$this -> pdo =
new PDO("mysql:host={$this -> host};dbname={$this -> dbname};charset=utf8",
$this -> dbuser, $this -> dbpw);
}
catch(Exception $e) {
stop("Erreur dans l'ouverture de la base de données:",
$e -> getMessage,
$e -> getCode());
}
}
la fonction "stop" affiche le nom du fichier php, le numéro de la ligne et les infos passées en aavant de terminer par die();
Si le programme avait détecté une erreur au moment de la connexion, on aurait donc dû avoir un message, ce qui ne s'est pas produit.
J'en déduis que
- soit il y a une erreur dans le code ci-dessus
- soit la fonction connect n'a pas répondu, sans doute faute d'un timeout dans l'implémentation du serveur web (???)
Qu'il y ait des incidents techniques, cela est malheureusement inévitable, mais que les utilisateurs n'aient aucune information à ce sujet et se retrouvent devant une page blanche est à proscrire.
Je cherche donc un moyen de contourner le problème et d'alerter les utilisateurs.
Vos avis sont fortement souhaités!