Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-06-05 09:25:15

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

В общем у меня получаются бооольшие новости.. думаю что за фигня - не сохраняется нормально... вывела подсчёт символов - оказалось 65858   и это ещё не самая большая - будут больше. (Это таблицы прайсов выводятся и почти половина символов на код приходится) ... и разбивать их проблематично - они генерируются парсером из cvs ...
Изменить тип  до MEDIUMTEXT - не проблема, но настораживает сам факт что большой объём кода получается.. и вот думаю - изменить и не париться, или как-то выкручиваться

Не в сети

#2 2010-06-05 11:02:53

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

CyberMama, меняй смело и не переживай, столбцы типа TEXT на диске занимают размер L + 2b; MEDIUMTEXT --> L +3b; LONGTEXT --> L + 3b. Таким образом при преобразовании типа TEXT в тип MEDIUMTEXT, фактически размер записи увеличится на 1 байт, я думаю это не критично.
ПЫСЫ: L -- длинна хранимой строки в байтах
2ПЫСЫ: 65kb чистого контента yikes пожалей бедных dialup'щиков, разбей хотябы на страницы )))


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#3 2010-06-05 11:28:38

Mahjong
Участник
Зарегистрирован: 2010-06-03
Сообщений: 7
Рейтинг :   

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Разве ещё кто-то сидит на диалапе? Сейчас наверное у всех провайдеров есть безлимит как минимум 256 кб(как у меня) и стоит он рублей от 250 big_smile

Не в сети

#4 2010-06-05 11:30:31

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Mahjong пишет:

Разве ещё кто-то сидит на диалапе? Сейчас наверное у всех провайдеров есть безлимит как минимум 256 кб(как у меня) и стоит он рублей от 250 big_smile

А у меня ....... длиннее cool А разве у когото короче моего hmm


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#5 2010-06-05 12:04:41

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Mahjong, далеко не у всех. Россия большая.

Не в сети

#6 2010-06-24 13:28:30

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Всё бы хорошо,после изменения типа поля новости большие добавляются, но... если кол-во символов превышает 65 тыс с копейками - отказываются редактироваться - просто не загружается интырфейс с редактором ... может подскажете как это обойти?

Не в сети

#7 2010-06-24 14:15:57

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

CyberMama, а в настройках сервера нет ограничений?

Не в сети

#8 2010-06-24 16:20:44

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

выяснилочь что проблема в функции htmlspecialchars (которая используется в фции secure_html через которую прогоняется текст)
видимо в ней ограничение на объем данных.

сделала просто $tvars['vars']['content'] = str_replace(array("{","<", ">"), array("{","<", ">"), $row['content']);
стало появляться нормально.

Изменено CyberMama (2010-06-24 17:00:43)

Не в сети

#9 2010-06-24 16:46:58

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Ну на memory_limit,  post_max_size и т.п., была подобная беда на одном сайте, так решение было именно в лимитах, правда не помню на что именно.
Но возможно это и не из-за этого.

Не в сети

#10 2010-06-24 16:48:15

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

php.ini
; Maximum size of POST data that PHP will accept.
post_max_size = 8M


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#11 2010-06-24 17:01:40

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

нее, если б в лимитах было бы дело, оно вообще никак не грузилось бы... в общем я разобралась

post_max_size = 8M

- это лимит на отправку данных

Изменено CyberMama (2010-06-24 17:02:23)

Не в сети

#12 2010-06-24 18:10:13

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Ага, как выяснилось - виноват не только htmlspecialchars   но и preg_match - он не кушает строки больше 100 000 ста тыся символов
решается добавлением в templater.class.php строки ini_set('pcre.backtrack_limit',10000000);

Не в сети

#13 2010-06-24 18:19:29

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

хм.. и вроде как с этим параметром даже с htmlspecialchars стало нормально рабоать...

Не в сети

#14 2010-06-25 23:57:17

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

CyberMama, нефига-ж себе... а куда тебе такие огромные статьи (я про 10Mb в конфиге)? smile

Не в сети

#15 2010-06-27 08:53:22

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

vitaly, таблицы прайса на 300 строк

Не в сети

#16 2010-06-27 08:54:16

CyberMama
Участник
Откуда Иркутск
Зарегистрирован: 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

а ..в конфиге... да может с ноликами переборщила

Не в сети

#17 2010-10-07 14:17:59

Xaron
Участник
Зарегистрирован: 2010-04-20
Сообщений: 17
Рейтинг :   

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

CyberMama пишет:

решается добавлением в templater.class.php строки ini_set('pcre.backtrack_limit',10000000);

А в какое место нужно добавить эту строку?

UPD: вроде сам нашел. Добавил после 65 строки
preg_match_all('/(?<=\{)l_(.*?)(?=\})/i', $data, $larr);

Изменено Xaron (2010-10-10 23:13:47)

Не в сети

#18 2010-12-17 20:19:53

widen
Участник
Зарегистрирован: 2010-12-16
Сообщений: 48
Рейтинг :   

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

CyberMama пишет:

выяснилочь что проблема в функции htmlspecialchars (которая используется в фции secure_html через которую прогоняется текст)
видимо в ней ограничение на объем данных.

сделала просто $tvars['vars']['content'] = str_replace(array("{","<", ">"), array("{","<", ">"), $row['content']);
стало появляться нормально.

а это где прописывается?

Не в сети

#19 2013-10-25 13:38:15

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

Подскажите как увеличить лимит символов в новости,отсюда ничего не работает,обрезает

Не в сети

#20 2013-10-25 13:56:42

Xaron
Участник
Зарегистрирован: 2010-04-20
Сообщений: 17
Рейтинг :   

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

irbees2008, я в базе данных изменил тип на mediumtext и в
/engine/includes/classes/templates.class
после 65 строки добавил
preg_match_all('/(?<=\{)l_(.*?)(?=\})/i', $data, $larr);

все работает.

Не в сети

#21 2013-10-25 14:31:52

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

все разобрался не в той базе изменял

Не в сети

#22 2013-10-25 14:58:42

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Если кол-во символов в новости превышает допустимое типом MySQL - TEXT

для svn строка 114

Изменено irbees2008 (2013-10-25 15:14:34)

Не в сети

Подвал раздела

Работает на FluxBB