Добрый вечер!
При попытке установить друпал 6.22 на хостинг получаю неожиданный баг (см. скриншот 1). Т.е. отсутствуют #title, но не все. Экспериментально выяснил что у fieldset не пропадает (на скрине видно "Basic options"), а у textfield - отсутствует. Попробовал сделать вместо
<?php
$form['basic_options']['db_path'] = array(
'#type' => 'textfield',
'#title' => st('Database name'),
'#default_value' => $db_path,
'#size' => 45,
'#required' => TRUE,
'#description' => $db_path_description
);
?>
вот такое:
<?php
$form['basic_options']['db_path'] = array(
'#type' => 'fieldset',
'#title' => st('Database name'),
'#default_value' => $db_path,
'#size' => 45,
'#required' => TRUE,
'#description' => $db_path_description
);
?>
и #title отобразился (см. скриншот 2).
Что бы это могло быть и в какую сторону рыть?
Заранее благодарю за любую попытку помочь
Вложение | Размер |
---|---|
screen1.png | 49.85 КБ |
screen2.png | 25.17 КБ |
Комментарии
Проверил на версии 6.20 - аналогичная проблема.
1. Проверить фаербагом - может чтото с цссом.
2. Может побился дистр при переносе.
1. Уже делал:
:
<span class="form-required" title="This field is required.">*</span>
</label>
Т.е. в коде явно отсуствует собственно то, что должно быть выведено.
2. перезаливал несколько раз: пробовал уже готовый сайт, пробовал чистую инсталяху 6.22, пробовал чистую 6.20...
Дурацкий вопрос, а язык какой выбирался?
Проблема одинакова во всех трех языках
UPD. И даже если я файлы переводов убираю и остается один язык - та же беда...
Следующее предположение.
У хостера странная версия php, странная сборка apache. Может в логах апача посмотреть, может туда ошибки пишутся.
http://7chudes.in.ua/dr6/test.php
Версии сборок:
PHP Version 5.3.5
Apache/2.2.16
Владимир, про "странность сборок" - это было предположение или как-то где-то посмотрел и что-то смутило?
А вот к логам апача доступа не имею
Предположение. Вдруг там mbstring не включен или ограничение памяти в 2МБ.
Вот инфо про сборку ПХП: mbstring вроде как присутствует...
http://7chudes.in.ua/dr6/test.php
Multibyte string engine libmbfl
HTTP input encoding translation disabled
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 5.9.1
Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.http_output_conv_mimetypes ^(text/|application/xhtml\+xml) ^(text/|application/xhtml\+xml)
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value
Хотя если сравнивать с хостингом где все ок, то там есть отличия:
и при сборке ПХП явно использован ключ '--enable-mbstring'
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value
Лимит памяти (если я правильную строку взял из инфо:
Хотя вот не пойму - почему именно вот тайтл отсутствует и не во всех случаях...
К Apache и пр. это скорее всего отношения не имеет никакого.
Проверьте CSS/JS в Google Chrome( Ctrl+Shift+J)/Firefox (в Firebug).
Хостинг надо нормальный искать (типа Джино, например), а не куда попало ставиться.
На днях была проблемка, - у меня в теме Drag&Drop для блоков не работало. Сравнивал свой шаблон с другими, читал док-ю, искал в Ин-те. Всё оказалось очень просто, - JQuery его крыл. Подправил, - заработало.
P.S.
Я никогда не устанавливаю CMS сходу на хостинг, сперва "локально" всё настраиваю,
потом только гружу базу в phpMyAdmin и прочее.
Хостинг www.linode.com, VPS Hosting.
ЗЫ. А все так и было: сделано и отлажено на локальном, потом загрузка на хостинг и не работает. Потом уже пошли эксперименты и что б избежать траблов с перекрывающим jquery и прочими - попробовал чистую инсталяцию и даже с ней проблемы. А поскольку уж чистаяя инсталяция и мной и Вами ставилась неоднократно (и ставилась без багов), потому делаю вывод что что-то не так с хостингом, поскольку локально такой проблемы нет и на других хостингах.
PPS. Менять хостинг не вариант.
Я на этой неделе перенёс на linode.com несколько сайтов. Всё отлично пашет.
Сегодня, вроде, не 1 апреля.
VPS Hosting - там админ сам настраивал сервер под свои нужды, потому возможно что какой-то пакет собран не с теми опциями что нужны Друпалу или какая-то версия чего-то друпалу не подходит... вот это и пытаемся с ним разобраться.
Там, судя по выдаче phpinfo(), стоит Ubuntu. Смысл собирать пакеты вручную? Там всего хватает из репозитория. (Кроме php-gd, хотя может и это уже починили)
Ну, утверждает что всё из репозитория (сори, выразился не точно, не вручную). Имею ввиду что это не просто хостинг с предустаноками и преднастройками от провайдера...
Если не вы админ, а админ разобраться не может, то в Linode Manager есть reboot.
Это ребутнет сервер и всё?
Переустановит, можно даже дистр поменять.
ну, там уже один большой сайт крутится, не стоит его сносить
Но он не на друпале.
Это не дело, если была неустановленная ошибка, то может вылезть снова. В самое неподходящее время.
К слову, если это VPS, то как может не быть доступа к апачевским логам? Если админ не хочет давать права с доступом, то пусть сделает копию или настроит
sudo tailf /var/log/apache2/error.log
Это у меня на момент написания того сообщения доступа не было и админа не было на месте. Сейчас уже появился админ, он логи посмотрел, говорит "чисто"
Остается только в st() http://api.drupal.org/api/drupal/includes--install.inc/function/st/6 напихать отладочных проверок.
Вот именно так я начал действовать. И вот чего не могу понять:
вот, к примеру, процесс инсталяции, окно ввода имени сервера, пользователя и т.п. Файл install.php. В точке перед выходом из этой формы леплю:
<?php // added by Ziben - begin
echo "<pre>B-";
var_dump($form);
echo "</pre>-B";
// added by Ziben - end return $form;
?>
и вижу (например, для поля с именем пользователя:
array(5) {
["#type"]=>
string(9) "textfield"
["#title"]=>
string(17) "Database username"
["#default_value"]=>
string(0) ""
["#size"]=>
int(45)
["#required"]=>
bool(true)
}
Тут казалось бы все красиво. (и таких блоков textfield 6 штук, как и есть на форме).
убираю тот дебаг, включаю дебаг в st (на выходе в процедуры):
<?php echo "<pre>";
var_dump($string);
var_dump($args);
$mystring = strtr((!empty($locale_strings[$string]) ? $locale_strings[$string] : $string), $args);
var_dump($mystring);
echo "</pre>";
?>
strtr((!empty($locale_strings[$string]) ? $locale_strings[$string] : $string), $args) - это как раз то, что идет на выход из процедуры.
И вижу про то же поле юзера такое:
array(0) {
}
string(17) "Database username"
Казалось бы нормально... но дальше в выводе еще нахожу такие куски:
array(2) {
["!title"]=>
string(0) ""
["!required"]=>
string(0) ""
}
string(2) ": "
Их три!
array(2) {
["!title"]=>
string(0) ""
["!required"]=>
string(68) "*"
}
string(70) ": *"
И таких три! Шесть в сумме, как и полей на форме и даже совпало что три со звездочкою, три без.
Получается что они почему-то перебивают мои нормальные поля со значениями...
Почему? вот вопрос...
Ziben, мне пока везёт,- пока с вот таким ни разу не сталкивался.
Если решите проблему, просьба выложить решение.
Откатились немного назад в версиях:
ПХП с 5.3.5 до 5.3.3
mbstring с 5.9.1 до 4.7.1
И проблема исчезла...
Странно, у меня на 5.3.6 прекрасно работает.