Помогите, что с этим делать? При добавлении материала на сайт (добавляю под админом за другого пользователя). Вылетает такого рода ошибка (см. ниже), но не всегда, один раз за 10 публикаций. При этом, всё сохраняется. Если айти и повторно сохранить, то вылетает такая же ошибка, но если изменить в названии одну букву, то всё нормально сохраняется. При этом неважно какая длина заголовка, было и с короткими и с длинными названиями.
PDOException: в функции dblog_watchdog() (строка 154 в файле /home/hosting/site.org/docs/modules/dblog/dblog.module).
Комментарии
я не знаю как решать. подскажите?
все-таки решилось.
как тут: http://www.drupal.ru/node/83917
коммент saratsublog
просто адреса страниц были русские, и очень длинная ссылка получалось.
надо увеличить длину ссылки в файле файл modules\dblog\dblog.module на строке 160
'link' => substr($log_entry['link'], 0, 255),
изменить 255 на 850, чтобы русские адреса страниц в крокозябре помещались.
например адрес моей страницы выголядел так:
%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%BE%D0%BB%D0%B0%D0%BF%D0%B0%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%BF%D0%B0%D1%85%D0%B0-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82-%D0%B1%D0%B0%D0%BD%D0%BA%D1%83-%D0%BA%D0%BE%D0%BA%D0%B0-%D0%BA%D0%BE%D0%BB%D1%8B
а по-русски он выглядел так:
круглолапая-черепаха-открывает-банку-кока-колы
не не работает. так еще больше ошибок. хотя все равно добавляется тема
подскажите люди, как решать?
подпишусь.
и я подпишусь, аналогичная ошибка
мне помог этот коммент
http://www.drupal.ru/node/83917
function dblog_watchdog(array $log_entry) {
Database::getConnection('default', 'default')->insert('watchdog')
->fields(array(
'uid' => $log_entry['uid'],
'type' => drupal_substr($log_entry['type'], 0, 64),
'message' => $log_entry['message'],
'variables' => serialize($log_entry['variables']),
'severity' => $log_entry['severity'],
'link' => drupal_substr($log_entry['link'], 0, 255),
'location' => $log_entry['request_uri'],
'referer' => $log_entry['referer'],
'hostname' => drupal_substr($log_entry['ip'], 0, 128),
'timestamp' => $log_entry['timestamp'],
))
->execute();
}
Вместо substr() используем drupal_substr().
Код для Drupal 7.
ошибка все врем повторяется на разных сайтах. яндекс мне показывает эту тему, так что тут оставлю ссылку на решение которой в гугле видно первым по запросу:
PDOException: dblog_watchdog() ( 160 modules/dblog/dblog.module)
мне помогают исправления в двух файлах: includes/bootstrab.inc и modules/dblog/dblog.module
http://www.drupal.ru/node/83917
комментарий venoel:
Решение (файл bootstrap.inc, функция watchdog):
<?php
--- /includes/bootstrap.inc Mon Jan 06 15:56:26 2014
+++ /includes/bootstrap.inc Mon Jan 06 15:53:45 2014
@@ -1723,7 +1723,7 @@
'link' => $link,
'user' => $user,
'uid' => $user_uid,
- 'request_uri' => $base_root . request_uri(),
+ 'request_uri' => urlencode($base_root . request_uri()),
'referer' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '',
'ip' => ip_address(),
// Request time isn't accurate for long processes, use time() instead.
?>
P.S. Ну и после каждого обновления редактировать
И комментарий Darth Raven :
<?php
function dblog_watchdog(array $log_entry) {
Database::getConnection('default', 'default')->insert('watchdog')
->fields(array(
'uid' => $log_entry['uid'],
'type' => drupal_substr($log_entry['type'], 0, 64),
'message' => $log_entry['message'],
'variables' => serialize($log_entry['variables']),
'severity' => $log_entry['severity'],
'link' => drupal_substr($log_entry['link'], 0, 255),
'location' => $log_entry['request_uri'],
'referer' => $log_entry['referer'],
'hostname' => drupal_substr($log_entry['ip'], 0, 128),
'timestamp' => $log_entry['timestamp'],
))
->execute();
}
?>
Вместо substr() используем drupal_substr().
Код для Drupal 7.
Приветствую! Мне патчи не помогли, ошибка так и не пропала( Решил проблему модулем Transliteration. Настройка описана тут: Транслитерация синонимов в Pathauto.
а если сайт кириллический тогда транслит будет некорректен: сайт.рф/zelenaya-cherepaha-pribyla-k-beregam-avstrali
тогда либо просто отключить Database Logging модуль или ограничить число символов в PATHauto настройках
надо заменить старый код функции более подробно http://www.drupal.ru/node/129677