Как сделать чтобы когда база данных падает (демонстрируется таблица о падении база) срабатывало перенаправление на html-страницу?
Где это можно написать и что нужно изменить?
То есть мне нужно, чтобы когда сайт падает со скриптом - показывались действующе html-страницы.
Подоскажите плиз.
Комментарии
Никто не знает ?
Вероятно, где-то здесь \includes\database*.inc. Но лучше, имхо, не менять ядро, а попытаться сделать это штатными средствами.
Например, в Drupal 5.х есть возможность выдавать свои страницы об ошибках (см. админский интефрейс).
Точно там.
Спасибо за ответ.
не подскажете, где именно? я что-то не найду (если это не про 403/404)
Открывается файл \includes\database.inc.
Там находим то что под строчкой:
drupal_set_title('Unsupported database type');
"Вероятно, где-то здесь \includes\database*.inc. Но лучше, имхо, не менять ядро, а попытаться сделать это штатными средствами."
Нет, это находится в database.mysql.inc на 55 строчке:
<?php
// - TRUE makes mysql_connect() always open a new link, even if
// mysql_connect() was called before with the same parameters.
// This is important if you are using two databases on the same
// server.
// - 2 means CLIENT_FOUND_ROWS: return the number of found
// (matched) rows, not the number of affected rows.
$connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE, 2);
if (!$connection) {
drupal_maintenance_theme();
drupal_set_title('Unable to connect to database server');
print theme('maintenance_page', 'This either means that the username and password information in your
settings.php
file is incorrect or we can\'t contact the MySQL database server. This could mean your hosting provider\'s database server is down.The MySQL error was: '. theme('placeholder', mysql_error()) .'.
Currently, the username is '. theme('placeholder', $url['user']) .' and the database server is '. theme('placeholder', $url['host']) .'.
For more help, see the Installation and upgrading handbook. If you are unsure what these terms mean you should probably contact your hosting provider.');
exit;
}
?>
Только какими штатными средствами это сделать? Проще поменять ядро...
Штатное средство самое простое - рефреш.
я имел ввиду, что если не изменять эти строки в ядре, то что можно сделать?
именно автоматически чтобы работало... в теме что-то изменить или что? и интересно, в пятом Друпале точно такая же ситуация?