Проблемы при установке и при регистрации пользователей [Решено]

7 сентября 2009 в 8:00
Аватар пользователя Ant141 Ant141 0 21

Эту тему оставлю для истории - вдруг кто искать будет:
Отсутствуют типы материала Page и Story

*********

При установке друпала, после этапа "configure site" перед последним этапом("finished") открывается пустая страница с адресом http://мойсайт.ru/drupal6/install.php?locale=en&profile=default, в браузере внизу сообщение "готово", то есть страница загружена, ничего больше не происходит. После этого перехожу на мойсайт.ru - появляется страница - мол, все установлено, настраивай и пользуйся. Вроде проблем никаких серьезных нет, все работает, НО! Нет типов материала которые должны быть по умолчанию - Page и Story (соответственно пункт меню "создать матриал" отсутствует до тех пор пока не создашь свой тип материала). Что это значит, как это исправить и чем это чревато?

Комментарии

Встречные вопросы:

1. Что на странице модулей и состояния? Нужные модули включены, предупреждений нет?

2. Разрешения все выданы?

Хотя, по-умолчанию, должно бы было быть.

(я не спец).

7 сентября 2009 в 13:52

нет, там вроде все в порядке - единственное часто выскакивает сообщение:
warning: set_time_limit() has been disabled for security reasons in /home/httpd/vhosts/мойсайт.ru/httpdocs/includes/locale.inc on line 1023.

например, когда импортирую перевод модуля

7 сентября 2009 в 21:30

На пользовательские cgi-скрипты накладываются следующие ограничения:
• максимальное количество одновременно выполняемых задач - 20;
• максимальное допустимое время работы cgi-скрипта: не более 15 процессорных секунд и не более 5 минут реального времени;
• максимальное количество открытых файлов на один процесс - 50;
• максимальное использование оперативной памяти - 64Mb на процесс, при этом под данные отводится не более 32Mb
• максимальный размер файла 512Mb;

На процессы пользователя, выполняемые из unix shell / cron, накладываются следующие ограничения:
• максимальное количество одновременно выполняемых задач - 20;
• максимальное допустимое время работы скрипта: не более 5 процессорных минут;
• максимальное количество открытых файлов на один процесс - 50;
• максимальное использование памяти - 15Mb на процесс;
• максимальный размер файла 1024Mb;

На php-скрипты накладываются следующие ограничения:
• максимальное время выполнения - 30 секунд;
• максимальное использование памяти – 32Мб для обычных тарифов и 64Мб для VIP тарифов

Максимальное количество одновременных соединений с сервером БД MySQL - 64.

8 сентября 2009 в 8:35

"BorisVlasenko" wrote:
ри нехватке памяти бывает белый экран, а не отключение типов материала.

При не хватке памяти при инсталяции модулей может быть все, что угодно....

9 сентября 2009 в 12:12

"BorisVlasenko" wrote:
При нехватке памяти бывает белый экран, а не отключение типов материала.

насколько я понимаю - именно "белый экран" у меня и появлялся при установке. Имеется в виду же просто пустая страница в браузере, да?

Хостинг mchost(тариф "профессиональный").

Я поставил на локале, потом перенес базы на хостинг. Но опасаюсь проблем в дальнейшем. По тем характеристикам, что я привел, что можно сказать?

11 сентября 2009 в 17:24

Блин!
Видимо вот и проблема: посетителям не удается зарегистрироваться - после вбивания данных(логина и мэйла) в форму появляется пустая(белая) страница в браузере с адресом вверху
http://мойсайт.ru/user/register?destination=comment/reply/1%2523comment-form
и больше ничего не происходит. Письма юзеру не приходит. Под админом в системе вижу, что юзер появился.

Повторял операцию на локале(на денвере), с той же БД - там все в порядке, открывается экран с сообщением, что юзеру выслано письмо и т.д.

11 сентября 2009 в 18:31

Связался с техподдержкой mchost, вот что они советуют:

Я: возникают проблемы при установке Drupal-а - перед завершающим этапом браузер вываливается в пустой экран, и ничего больше не происходит. После этого в системе отстутствуют некоторые элементы которые должны быть там по умолчанию. На локальном сервере все устанавливается без проблем.
Я: связывался с тех-поддержкой Друпал-а, предположительно не хватает памяти на выполнение скриптов или что-то в этом роде - не можете прояснить в чем проблема?
Я: Повторюсь, что в других условиях (не на Вашем хостинге) система ставится нормально

ТП: Для выявления проблемы включите вывод ошибок PHP.
ТП: Создайте в той директории, где находятся скрипты, файл .htaccess (если он не существует) и добавьте эти две строки:
php_flag display_errors on
php_value error_reporting 2047

Подскажите, где в друпале находятся эти скрипты? (хочу тестировать на регистрации нового юзера, не на инсталляции)

11 сентября 2009 в 19:23

Чтож... поболтаю сам с собой, пусть это будет типа мой блог Smile :

возможно проблема возникает именно когда дело доходит до работы с почтой - возможно и при инсталляции, и при регистрации зависание системы происходит именно на этапе отсылания письма о подтверждении регистрации...

ТП мсхоста говорит, что никаких доп настроек с их стороны для работы почтового сервера не требуется...

11 сентября 2009 в 20:12

Хм... попробовал настроить триггер "отправить почту на ххххmail.ru при создании нового сообщения", создал сообщение - мэйл пришел мгновенно. Значит, почта работает...

Народ, это же блог, а записи в блогах принято комментировать Wink
Может у кого-то все-таки есть идеи? Буду очень рад

11 сентября 2009 в 20:49
Аватар пользователя Dan Dan 0

Последуйте совету техподдержки. Файл .htaccess находится в корне сайта, там же где каталоги modules, sites, includes и т.д.

11 сентября 2009 в 23:36

Теперь при попытке регистрации вместо белого экрана с адресом в адресной строке браузера

http://мойсайт.ru/user/register?destination=comment/reply/1%2523comment-form

сообщение:

Fatal error: mail() [<а hrеf='function.mail'>function.mail]: mail() - newline in Subject, possible injection, mail dropped in /home/httpd/vhosts/мойсайт.ru/httpdocs/includes/mail.inc on line 193

<?php
function drupal_mail_send($message) {
  
// Allow for a custom mail backend.
  
if (variable_get('smtp_library''') && file_exists(variable_get('smtp_library'''))) {
    include_once 
'./'variable_get('smtp_library''');
    return 
drupal_mail_wrapper($message);
  }
  else {
    
$mimeheaders = array();
    foreach (
$message['headers'] as $name => $value) {
      
$mimeheaders[] = $name .': 'mime_header_encode($value);
    }
    return 
mail(
      
$message['to'],
      
mime_header_encode($message['subject']),
      
// Note: e-mail uses CRLF for line-endings, but PHP's API requires LF.
      // They will appear correctly in the actual e-mail that is sent.
      
str_replace("\r"''$message['body']),
      
// For headers, PHP's API suggests that we use CRLF normally,
      // but some MTAs incorrecly replace LF with CRLF. See #234403.
      
join("\n"$mimeheaders)
    );                              ================= 
ЭТО СТРОКА 193
  
}
}

/**
 * Perform format=flowed soft wrapping for mail (RFC 3676).
 *
 * We use delsp=yes wrapping, but only break non-spaced languages when
 * absolutely necessary to avoid compatibility issues.
 *
 * We deliberately use LF rather than CRLF, see drupal_mail().
 *
 * param $text
 *   The plain text to process.
 * param $indent (optional)
 *   A string to indent the text with. Only '>' characters are repeated on
 *   subsequent wrapped lines. Others are replaced by spaces.
 */
function drupal_wrap_mail($text$indent '') {
  
// Convert CRLF into LF.
  
$text str_replace("\r"''$text);
  
// See if soft-wrapping is allowed.
  
$clean_indent _drupal_html_to_text_clean($indent);
  
$soft strpos($clean_indent' ') === FALSE;
  
// Check if the string has line breaks.
  
if (strpos($text"\n") !== FALSE) {
    
// Remove trailing spaces to make existing breaks hard.
    
$text preg_replace('/ +\n/m'"\n"$text);
    
// Wrap each line at the needed width.
    
$lines explode("\n"$text);
    
array_walk($lines'_drupal_wrap_mail_line', array('soft' => $soft'length' => strlen($indent)));
    
$text implode("\n"$lines);
  }
  else {
    
// Wrap this line.
    
_drupal_wrap_mail_line($text0, array('soft' => $soft'length' => strlen($indent)));
  }
  
// Empty lines with nothing but spaces.
  
$text preg_replace('/^ +\n/m'"\n"$text);
  
// Space-stuff special lines.
  
$text preg_replace('/^(>| |From)/m'' $1'$text);
  
// Apply indentation. We only include non-'>' indentation on the first line.
  
$text $indent substr(preg_replace('/^/m'$clean_indent$text), strlen($indent));

  return 

$text;
}
?>

Кто-нибудь знает, как это эффективнее решить?

И что означает загадочная надпись "See #234403"?

12 сентября 2009 в 15:07

Спасибо.
Почитал сейчас, поставил патч(вручную изменил строчки) - нет эффекта, снова

Fatal error: mail() [<а hrеf='function.mail'>function.mail]: mail() - newline in Subject, possible injection, mail dropped in /home/httpd/vhosts/мойсайт.ru/httpdocs/includes/mail.inc on line 193

Что означает вообще эта ошибка? Что-то с темой связано...

12 сентября 2009 в 15:06

Переписка с техподдержкой мсхоста:

Я: Здравствуйте!
Я: мой сайт на Drupal-овском движке
Я: При регистрации пользователя возникает ошибка

ТП: Предоставьте текст ошибки, пожалуйста.

Я: Fatal error: mail() [<а hrеf='function.mail'>function.mail ]: mail() - newline in Subject, possible injection, mail dropped in /home/httpd/vhosts/мойсайт.ru/httpdocs/includes/mail.inc on line 193
Я: этой ошибки не происходит на локальном веб-вервере
Я: с той же БД

ТП: Ваш скрипт не может выполнить функцию, mail();
Подождите минутку.
ТП: Выполнил тестирование функции, работает без проблем, сообщение дошло за 2-3с.

Я: простите, не понял
Я: и в чем причина ошибки?

ТП: Ваш скрипт выдает ошибку связанную с функцией mail(); , на сервере данная функция работает без проблем.
ТП: Я не могу сказать, в чем причина ошибки в случае с Вашим скриптом. Обратитесь к разработчику Вашего скрипта.

Я: А что означает текст ошибки?
Я: newline in Subject и т.д. Не подскажете?

ТП: В тесте ошибки указано что есть проблема с функцией mail(); в скрипте /home/httpd/vhosts/sexturs.ru/httpdocs/includes/mail.inc строчка 193

Я: newline in Subject, possible injection, - а конкретно вот эти слова?

ТП: Можете воспользоваться переводчиком: http://translate.google.com/translate_t?sl=en&tl=ru#

Я: Могу Smile
Но я предполагаю, что здесь могут использоватся какие-то специфические термины, отсутствующие в переводчике, говорящие о многом понимающему язык человеку

ТП: К сожалению мы не разработчики Вашего скрипта, так же не оказываем по нему тех поддержки, это Вы можете узнать на сайте производителя, либо на подобных ресурсах.

12 сентября 2009 в 16:20
Аватар пользователя Dan Dan 0

Фатальная ошибка, функция mail(). mail() - перевод строки в subject (заголовок письма), возможна инъекция (внедрение кода?), письмо не отправлено.

Подробности: http://ru.php.net/manual/en/function.mail.php

Эту ошибку выдаёт PHP. Надо посмотреть вывод переменных (subject) и попробовать отправить письмо самостоятельно.

А вообще терзайте техподдержку - отправка писем в друпале если и не работает, то как правило из-за нестандартных настроек у хостера. И друпал это не "скрипт" дяди васи, а одна из самых распространённых CMS в мире.

12 сентября 2009 в 18:26

Письмо техподдержки хостера:

Здравствуйте.
Мы установили для вас php 5.2.10.
Проверьте пожалуйста работу сайта и сообщите если проблема не решиться.

Теперь все ок
Спасибо всем

13 сентября 2009 в 14:02