Mollom + errors + "белый экран"

Главные вкладки

Аватар пользователя AlGin@drupal.org AlGin@drupal.org 17 января 2009 в 12:53

Проблема: "белый экран" после попытки сохранить ответ на форуме или комментарий к узлу на сайте (причём непосредственно сам комент сохраняется с первого раза).
До этого успешно работали Captcha + Comment Subscribe, но я решил удалить модуль Captcha, установить Mollom. Сайт перешёл с Drupal 6.8 на 6.9 (просто констатирую факт) - без изменений. В попытке решить проблему заменил модуль Comment Subsribe на Comment Notify - безрезультатно.

Логи сервера при появлении "белого окна":

[Sat Jan 17 10:29:35 2009] [error] [client 87.110.XX.XX] PHP Fatal error:  Unsupported operand types in /home/yl3bu/data/www/yl3bu.lv/includes/common.inc on line 1376, referer: http://www.yl3bu.lv/comment/reply/308/122
[Sat Jan 17 10:29:48 2009] [error] [client 87.110.XX.XX] PHP Fatal error:  Unsupported operand types in /home/yl3bu/data/www/yl3bu.lv/includes/common.inc on line 1376, referer: http://www.yl3bu.lv/comment/reply/308/122

Что интересно в этих же логах куча ошибок Mollom, которые не проявляются видимым образом на сайте (или нормальная работа Mollom почему-то воспринимается как ошибки):

Sat Jan 17 09:59:37 2009] [error] [client 72.30.XX.XX] mollom_form_alter registered mollom_validate_captcha handler
[Sat Jan 17 09:59:37 2009] [error] [client 72.30.XX.XX] _mollom_insert_captcha
[Sat Jan 17 09:59:37 2009] [error] [client 72.30.XX.XX] called mollom.getImageCaptcha at server http://88.151.XXX.XX with no session ID
[Sat Jan 17 09:59:37 2009] [error] [client 72.30.XX.XX] _mollom_insert_captcha retrieved URL 'http://xmlrpc1.mollom.com:80/757c362fb165b29c.png' and session ID 'd9272b9d595c2f51'
[Sat Jan 17 10:01:17 2009] [error] [client 66.249.XX.XXX] mollom_form_alter registered mollom_validate_captcha handler
[Sat Jan 17 10:01:17 2009] [error] [client 66.249.XX.XXX] _mollom_insert_captcha
[Sat Jan 17 10:01:17 2009] [error] [client 66.249.XX.XXX] called mollom.getImageCaptcha at server http://88.151.XXX.XX with no session ID

С настройками Mollom вроде всё ОК, они достаточно прозрачны и не сложны на сайте и на его сервере.
Вобщем пока не удаётся побороть этот "белый экран". И что это за куча ошибок связанных с Mollom. Может одно с другим и не связано, а одновременное их проявление - просто совпадение...
Но главный мой вопрос как избавиться от "белого экрана" после попытки сохранить комментарий пользователем?
Спасибо.

P.S. Setup - Drupal 6.9 (admin_menu, advanced_forum, birthdays, bueditor, cck, comment_notify, extlink, firestats, google_analytics, imce, lightbox2, mail_logger, mollom, print, quote, taxonomy_manager, weather).

Комментарии

Аватар пользователя AlGin@drupal.org AlGin@drupal.org 17 января 2009 в 23:36

... так удалил я модуль Captcha и затем только поставил Mollom. Или идёт речь о той, что встроена в Mollom?

P.S. Спасибо, Владислав, за DrupalCookBook.ru, много для себя нашёл интересного.

Аватар пользователя VladSavitsky VladSavitsky 18 января 2009 в 10:06

У меня на сервере тоже в логах ошибок выдаются сообщения от Моллом, но при этом все работает.
Белый экран - это какая-то фатальная ошибка РНР. Поищите ещё логи или может быть не хватает какого-то файла на сервере...

Аватар пользователя AlGin@drupal.org AlGin@drupal.org 19 января 2009 в 2:39

Насчёт нехватки файла сомневаюсь. При переходе недавно на Drupal 6.9 всё было обновлено, модуль Comment Notify также установлен по-новой, но проблема осталась. Может что из настроек в базе "не то"(?), база, конечно же старая.

Ошибку при отсылке комента ( и "белом окне") показывает в:
PHP Fatal error: Unsupported operand types in /home/... /includes/common.inc on line 1376, referer:...
И в файле common.inc строка 1376 - это последняя строка вот этой функции (привожу с описанием как в оригинале):

/**
 * Generate a URL from a Drupal menu path. Will also pass-through existing URLs.
 *
 * param $path
 *   The Drupal path being linked to, such as "admin/content/node", or an
 *   existing URL like "http://drupal.org/".  The special path
 *   '<front>' may also be given and will generate the site's base URL.
 * param $options
 *   An associative array of additional options, with the following keys:
 *   - 'query'
 *       A query string to append to the link, or an array of query key/value
 *       properties.
 *   - 'fragment'
 *       A fragment identifier (or named anchor) to append to the link.
 *       Do not include the '#' character.
 *   - 'absolute' (default FALSE)
 *       Whether to force the output to be an absolute link (beginning with
 *       http:). Useful for links that will be displayed outside the site, such
 *       as in an RSS feed.
 *   - 'alias' (default FALSE)
 *       Whether the given path is an alias already.
 *   - 'external'
 *       Whether the given path is an external URL.
 *   - 'language'
 *       An optional language object. Used to build the URL to link to and
 *       look up the proper alias for the link.
 *   - 'base_url'
 *       Only used internally, to modify the base URL when a language dependent
 *       URL requires so.
 *   - 'prefix'
 *       Only used internally, to modify the path when a language dependent URL
 *       requires so.
 * return
 *   A string containing a URL to the given path.
 *
 * When creating links in modules, consider whether l() could be a better
 * alternative than url().
 */

function url($path = NULL, $options = array()) {
  // Merge in defaults.
  $options += array(
    'fragment' => '',
    'query' => '',
    'absolute' => FALSE,
    'alias' => FALSE,
    'prefix' => ''
  );

В движке Drupala не силён, но складывается впечатление, что после отсылки коммента Drupal не знает какой URL открывать и в результате "белый экран". Может кто из спецов сюда забредёт и подскажет куда копать.