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

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

rss

Вы не зашли.

Объявление

#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
Сообщений: 3538
Рейтинг :   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
Сообщений: 1487
Рейтинг :   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("{","&lt;", "&gt;"), $row['content']);
стало появляться нормально.

Отредактированно CyberMama (2010-06-24 17:00:43)

Неактивен

 

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

Trashcka
Пользователь
Откуда: КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1487
Рейтинг :   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
Сообщений: 2785
Рейтинг :   115 
Профиль

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 19:19:53

widen
Пользователь
Зарегистрирован: 2010-12-16
Сообщений: 48
Рейтинг :   
Профиль

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

CyberMama написал:

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

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

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

Неактивен

 

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

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

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

для svn строка 114

Отредактированно irbees2008 (2013-10-25 15:14:34)

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.025 seconds, 30 queries executed ]