Проблема: "белый экран" после попытки сохранить ответ на форуме или комментарий к узлу на сайте (причём непосредственно сам комент сохраняется с первого раза).
До этого успешно работали Captcha + Comment Subscribe, но я решил удалить модуль Captcha, установить Mollom. Сайт перешёл с Drupal 6.8 на 6.9 (просто констатирую факт) - без изменений. В попытке решить проблему заменил модуль Comment Subsribe на Comment Notify - безрезультатно.
Логи сервера при появлении "белого окна":
[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_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).
Комментарии
Вероятно конфликт с модулем капчи.
... так удалил я модуль Captcha и затем только поставил Mollom. Или идёт речь о той, что встроена в Mollom?
P.S. Спасибо, Владислав, за DrupalCookBook.ru, много для себя нашёл интересного.
У меня на сервере тоже в логах ошибок выдаются сообщения от Моллом, но при этом все работает.
Белый экран - это какая-то фатальная ошибка РНР. Поищите ещё логи или может быть не хватает какого-то файла на сервере...
Насчёт нехватки файла сомневаюсь. При переходе недавно на 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 открывать и в результате "белый экран". Может кто из спецов сюда забредёт и подскажет куда копать.