Столкнулся с ситуацией, что не публикуются некоторые посты в блоге.
Выглядит это следующим образом:
После публикации, записи не видно, но анонс есть. Если нажать "изменить", то весь опубликованный текст доступен для редактирования.
Расследование показало, что эта ситуация возникает в случае, когда текста больше, чем на 32Кб.
Пожалуйста, порекомендуйте, что можно посмотреть? (есть доступ к настройке apache, php, mysql).
Комментарии
Проверь тип полей в базе.
Если полный текст ноды обрезается на 32К, то, скорее всего у тебя в БД для текстовых полей стоит тип TEXT, а не LONGTEXT.
Или я что-то не так понял? Что значит записи не видно? Страница пуста или вообще недоступна, или видна не полностью?
Нет, в базе все в порядке: body, teaser и log - longtext.
Записи не видно, это так:
http://nakuhne.net.ru/node/1790
Но анонс (до !--break-- ) виден:
http://nakuhne.net.ru/blog/12
Если нажать, на "изменить" ноду, то весь текст доступен для редактирования (лишнее подтверждение, что в базе все в порядке).
Были подозрения, что я перемудрил где-то в теме. С "bluemarine" всё остается по-прежнему.
кажется, стоит проверить логи сервера на предмет нехватки памяти.
С памятью все в порядке. В php.ini стоит:
memory_limit = 256M
В логе ошибок нет. Чтобы убедиться, что лог работает, выставил 256K - ошибки посыпались, но при "memory_limit = 256M" ошибок нет.
Вот уж действительно странный случай... Остальные ноды в порядке. Может убьешь эту ноду и создашь новую с той же датой?
Потестил на своем блоге. Если поставить разделитель в таком виде
<!--break--
забыв про закрывающую угловую скобку, то получается нечто похожее. Но тогда на странице ноды виден хотя бы тизер.>Остальные ноды в порядке.
Остальные ноды в порядке потому что объем текста менее 32Кб.
>Может убьешь эту ноду и создашь новую с той же датой?
Без толку пробовал.
Может всё решается просто? Может это где-то в админке выставляется?
абсолютно такая же трабла и у меня. тоже тизер показывается в большой статье и все..жмешь "подробнее" и там вообще все пусто. а сам материал при редактировании отображается полность.
в админке все перерыл. нет там ничего подобного. только настройка для величины тизера.
странно что ни у кого подобной траблы не было и как ее решить тоже никто не знает
просто не надо вводить больше, чем 32К в BODY. Попробуйте текстовое поле ССК - там может ограничения послабже? А Body тогда просто уберите...
интересно, при чем тут ограничение текстовых полей... я вот проверил на локальном хосте, все работает...
Сдается мне что тут дело в каком-то модуле...
Этот баг присутствует во всех версиях Drupal, включая 6.x
Причина проблемы - фильтр автопереноса строк (Line break converter), а точнее функция PHP preg_replace которая при одном из преобразований большого объема текста выдает пустой результат.
Глубже копать не стал, решив проблему расстановкой одного-двух дополнительных переносов строк по всему объему текста проблемной ноды.
Извините, я не совсем понял... Вы расставили дополнительные теги (br) ?
Спасибо! Спасибо! Спасибо!
Для тех, кто как и я сразу не понял "решив проблему расстановкой одного-двух дополнительных переносов строк" - это просто пару раз нажать "Enter" - вставить пустую строку.