Notice: Undefined index: pass in d:\www\includes\ database.mysql.inc on line 31

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

Аватар пользователя Гость Гость (не проверено) 8 июня 2005 в 10:21

Всем привет! появился вопрос по установке вылезает вот такая ошибка и хоть тресни
Notice: Undefined index: pass in d:\www\includes\database.mysql.inc on line 31

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at d:\www\includes\database.mysql.inc:31) in d:\www\includes\session.inc on line 10

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at d:\www\includes\database.mysql.inc:31) in d:\www\includes\session.inc on line 10

warning: Cannot modify header information - headers already sent by (output started at d:\www\includes\database.mysql.inc:31) in d:\www\includes\common.inc on line 99.

в sites\default\setting.php прописано $db_url = 'mysql://root:localhost/drupal';
$base_url = 'http://localhost';
что делать??

Лучший ответ

Аватар пользователя Гость Гость (не проверено) 10 сентября 2005 в 22:20

database.mysql.inc
после
if (isset($url['port'])) {
$url['host'] = $url['host'] .':'. $url['port'];
}

добавить
if (!isset($url['pass']))
$url['pass']='';

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

Комментарии

Аватар пользователя Nick Nick 8 июня 2005 в 10:27

Сделать нормального пользователя и _пароль_ для БД.
Заведите себе правило, пользователя без пароля не бывает.

И когда что-то _работает_ под root - это уже заведомо не верно. root - по определению _только_ для установки и настройки.

--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Екатеринбургский гость Екатеринбургски... (не проверено) 8 июня 2005 в 16:23

Ник, совет конечно правильный... только вот проблема - не в тему... Ошибку это не исправит
"Внимание, правильный ответ".
Ошибка "headers already sent" означает, что HTTP responce headers разорваны пустой строкой. Наиболее частая причина ее появления (если не считать ошибок кодирование) - наличие в теле PHP-скрипта символов после зкрывающего тэга "?>". Файл, вызывающий проблему, надо находить начиная с того, на который указывает фрагмент текста "output started at..."

"Учите матчасть", как говаривал мой старшина

Аватар пользователя Nick Nick 8 июня 2005 в 18:14

"headers already sent" Это означает, что "заголовки уже посланы". Такая ошибка возникает, если после начала вывода информации, кто-то пытается изменить заголовок (Header();). Вот php и предупреждает, что заголовки уже посланы и менять их уже, соответственно, позно. Но. В данном случае эта ошибка ничего не говорит. Если бы Вы были внимательнее, то навено обратили бы внимание на строку:
"Notice: Undefined index: pass in d:\www\includes\database.mysql.inc on line 31"
Т.е. в переменную $pass ничего не кладется. Именно этот Notice и провоцирует сброс заголовков. Поэтому все остальные warning являются лишь побочными первого Notice (если бы его не было, то заголовки еще можно было менять) и, в данном случае, ничего не значат.

+ в добавок
http://drupal.ru/node/872

Так что задание пароля - поможет, проверено...

"Учите матчасть", как говорил ваш старшина...
--
USU-Lug http://usu-lug.org.ru

Аватар пользователя Гость Гость (не проверено) 10 сентября 2005 в 22:20

database.mysql.inc
после
if (isset($url['port'])) {
$url['host'] = $url['host'] .':'. $url['port'];
}

добавить
if (!isset($url['pass']))
$url['pass']='';

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

Аватар пользователя Troy Troy 11 сентября 2005 в 7:27

Quote:

А не лучше ли поставить пароль?

Я просто этого не понимаею, зачем что-то делать, чтобы в корне неправильное решение (пользователь без пароля) работало


для локалхоста - очень даже неплохое решение, имхо. Мне вот может лениво вписывать по сотне раз на дню пароль при обновлении установки друпал. Smile
Впрочем сам теперь использую пользователя с паролем.