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

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

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

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

*********

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

Комментарии

Аватар пользователя BorisVlasenko BorisVlasenko 7 сентября 2009 в 13:52

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

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

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

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

(я не спец).

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

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

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

Аватар пользователя Ant141 Ant141 8 сентября 2009 в 8:35

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

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

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

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

Аватар пользователя Nickolyan Nickolyan 9 сентября 2009 в 12:12

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

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

Аватар пользователя Ant141 Ant141 11 сентября 2009 в 17:24

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

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

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

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

Аватар пользователя Ant141 Ant141 11 сентября 2009 в 18:31

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

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

Аватар пользователя Ant141 Ant141 11 сентября 2009 в 19:23

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

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

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

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

Аватар пользователя Ant141 Ant141 11 сентября 2009 в 20:12

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

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

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

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

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

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

Аватар пользователя Dan Dan 11 сентября 2009 в 23:36

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

Аватар пользователя Ant141 Ant141 12 сентября 2009 в 15:07

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

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"?

Аватар пользователя Ant141 Ant141 12 сентября 2009 в 15:06

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

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

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

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

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

Я: Здравствуйте!
Я: мой сайт на 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
Но я предполагаю, что здесь могут использоватся какие-то специфические термины, отсутствующие в переводчике, говорящие о многом понимающему язык человеку

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

Аватар пользователя Dan Dan 12 сентября 2009 в 18:26

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

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

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

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

Аватар пользователя Ant141 Ant141 13 сентября 2009 в 14:02

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

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

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