ООО ЭкоЮнит
FAQПоискПользователиГруппыФайлыВходРегистрацияГлавная
Версия для печати
 
 
АвторСообщение
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

В комлекте с новой версией php часто идет mysql база v5.5 и выше, с установленным по умолчанию "строгим режимом". Что приводит к проблемам аналогичной Ошибка при прочтении ЛС в PHPbb У меня периодически появлялась проблема при отправке сообщений на форуме из-за "строгости" к запросу к SEARCH_WORD_TABLE.
Как выглядит проблема SQL Error : 1690 BIGINT UNSIGNED value is out of range in ...
Если есть доступ к конфигу mysql (my.cnf или my.ini) то пропишите в нем SQL_MODE = 'NO_UNSIGNED_SUBTRACTION';
Если доступа нет, то
Код:
открыть
common.php

найти
//
// Setup forum wide options, if this fails

перед добавить
// mysql v5.5+ setup no_unsigned_subtraction
$db->sql_query('SET SESSION SQL_MODE = NO_UNSIGNED_SUBTRACTION');


Добавлено спустя 4 минуты 58 секунд:

Так же в базах теперь как правило по умолчанию идет кодировка utf-8, самый простой способ избежать кракозябов это
Код:
открыть
db/mysql4.php

найти
                    mysql_close($this->db_connect_id);
                    $this->db_connect_id = $dbselect;
                }
            }

после добавить
            @mysql_query('SET NAMES cp1251');
            @mysql_query('SET CHARACTER SET cp1251');
ВверхНа форуме нет Профиль
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

Надо сказать, что при замене ereg на preg_match, ereg_replace на preg_replace, и split на preg_split. В строке типа preg_match('/' . регулярное выражение . '/i', $string, $regs); в самом регулярном выражении не должны использоваться символы "/", если используются, то "/" надо заменить на любые неиспользуемые.
И тут возникает проблема. В чистом форуме этого нет, но в некоторых модах, символы в регулярное выражение передаются из какой нибуть переменной, и соответственно могут быть любые
Скрытый текст:
Показать
В таких случаях ни чего не остается как перед ereg добавить @, получится @ereg

Добавлено спустя 1 минуту 57 секунд:

При шерстении форума можно везде поставить @. Но это временная мера, т.к. при очередном обновлении на хостинге php, ereg будет полностью удалена.
ВверхНа форуме нет Профиль
Sergey Пол:Муж.


Местный босс - администратор


Зарегистрирован: 06.01.2005
Показать/Спрятать

Какие проблемы дополнительно использовать preg_quote при замене ereg?
php.net/manual/ru/.....-quote.php

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
ВверхНа форуме нет Профиль Сайт Имя в Skype
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

Спасибо.
Проблема с ereg одна в одном моде, как будет время займусь.

Еще проблема, в attach_mod применена устаревшая функция mysql_escape_string(), файл functions_attach.php, строка:
Код:
return mysql_escape_string($text);
при замене функции на рекомендованную mysql_real_escape_string(), в лог просмотра вложений attach_download_list перестали писаться ip, http_referer и пр. информация. На локалхосте такой проблемы не наблюдаю. Вероятно mysql_real_escape_string принимает не ту что надо кодировку соединения, возможно utf8 .
У себя поставил @, так же как с модом поиска в профилях.
ВверхНа форуме нет Профиль
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

У меня вроде все.
Посоветую, имеющийся код не удалять, а закомментировать. Это облегчит установку на форум модов.
ВверхНа форуме нет Профиль
DVG

Заинтересовался


Зарегистрирован: 04.01.2012
Показать/Спрятать

Сейчас рhр версии 5.5.9-1ubuntu4.21 двойка работает без проблем, тройку даже не рассматриваю.
Двойка сильно перепаханная, всего уже и не упомню: расширил attach_mod, давно отказался от win1251 и перевел на utf . Модернизировал под mysqli.

Т,к предполагаю обновить ubuntu до 16.04 , а там уже php7.0 - решил протестить на новой версии php/

В принципе заработало, пришлось много адаптировать, в основном доставило проблем - парсер бибикодов, с ошибкой

Цитата: Показать


Ну а бибикодов добавлено мама-негорюй, в том числе произвольные бибикоды (как в тройке),

К примеру генератор смайлов пришлось выдумывать:
Цитата: Показать


Ошибку Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; attach_parent has a deprecated constructor in /attach_mod/posting_attachments.php

фиксил как-то так:
Цитата: Показать


и т.д. и т.п. Если некрофилы Smile ещё остались то запустить двойку на php7.0 вполне реально.
ВверхНа форуме нет Профиль
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

На Гуру нет написано как перейти на php 5.4 phpbbguru.net.....25#p445425 Фикс в виде мода, конечно это для чистого форума. Моды надо фиксить самостоятельно.

Добавлено спустя 8 минут 18 секунд:

Код:
UPDATE также во вложении есть библиотека mysqli для работы на php 5.5.x. Сам не проверял, но думаю проблем не будет.
ВверхНа форуме нет Профиль
Sergey Пол:Муж.


Местный босс - администратор


Зарегистрирован: 06.01.2005
Показать/Спрятать

Тут такой хостинг, что php 5.2 ещё лет пять будет.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
ВверхНа форуме нет Профиль Сайт Имя в Skype
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

В свободное время можно сделать "про запас".
Оффтоп:
У меня переход на другую версию php на vps не предполагался. Но хостинг продали, прекратилась поддержка сторонних vps, полезли вирусы и пришлось обновляться.
ВверхНа форуме нет Профиль
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

php 5.2 не требует замены кода форума, кроме разве замены в админке $HTTP_GET_VARS , на $_GET , у меня после включения в php.ini register_long_arrays = On форум без каких либо изменений кода на php 5.2 работал. Предупреждения об устаревших функциях не лезли, хотя их вывод в лог был включен. Обновляться пришлось после того как стало php 5.3.

P.S. Здесь PHP/5.2.6, см bertal.ru/
ВверхНа форуме нет Профиль
Sergey Пол:Муж.


Местный босс - администратор


Зарегистрирован: 06.01.2005
Показать/Спрятать

Переход на другую версию php
Нормально, чо. А здесь, оказывается, php обновили до 5.5 дней 8 назад. Только сегодня увидел, клиент пальцем ткнул. Пока восстановил регистрацию и постинг сообщений

Добавлено спустя 1 минуту 33 секунды:

Надо будет передрачивать всё остальное.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
ВверхНа форуме нет Профиль Сайт Имя в Skype
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

Напишите пожалуйста, какие изменения внесли для версии php 5.5. Многим пригодится.
ВверхНа форуме нет Профиль
Sergey Пол:Муж.


Местный босс - администратор


Зарегистрирован: 06.01.2005
Показать/Спрятать

Ничего особенного не делал. Сделал всё, как описано в теме, особенно здесь Проблема с htmlspecialchars на форуме phpBB2. Заменить пришлось 367 вхождений htmlscpecialhars. Ещё заменил остатки разных split на preg_split.
Всем спасибо за участие.

Добавлено спустя 5 минут 8 секунд:

Так что, теперь ещё лет несколько можно жить спокойно.

Добавлено спустя 2 часа 26 минут 28 секунд:

Умная мысль приходит позже. Можно в принципе обойтись без подстановки , ENT_QUOTES, 'ISO-8859-1' , а просто объявить в начале в common.php или functions.php функцию типа такой
Код:
// added to fix a bug in PHP 5.5.4 or later for charset cp1251 or ISO-8859-1
function phpbb_htmlspecialchars($str) 
{ 
    return htmlspecialchars($str, ENT_QUOTES, 'ISO-8859-1');
} 

Замену вхождений htmlspecialchars на phpbb_htmlspecialchars сделать с помощью редактора, который умеет заменять подстроки в файлах, к примеру Notepad++. Это поможет избавиться от ошибок ручной замены. Остальное (split и ereg_) догнать руками.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
ВверхНа форуме нет Профиль Сайт Имя в Skype
vlad77 Пол:Муж.

Модератор


Зарегистрирован: 15.03.2008
Показать/Спрятать

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

На этом форуме проблемы с модом демократия Мод репутации и предупреждений

Добавлено спустя 9 минут 18 секунд:

Sergey @ Сб 23 Дек, 2017 17:05 писал: (Просмотр сообщения)
Показать
У меня есть программка "Good Utilities For Web - Master", которая позволяет во всех файлах в папке произвести замену фрагмента теста.

Себе так и сделаю, очень хорошое предложение.

Добавлено спустя 3 часа 4 минуты 44 секунды:

Мне представляется, функцию лучше сделать так:
Код:
// added to fix a bug in PHP 5.5.4 or later for charset cp1251 or ISO-8859-1
function phpbb_htmlspecialchars($string, $flags = ENT_QUOTES, $encoding = 'ISO-8859-1') 
{ 
    return htmlspecialchars($string, $flags, $encoding);
} 
Для лучшей совместимости, с возможными используемыми параметрами.
ВверхНа форуме нет Профиль
Sergey Пол:Муж.


Местный босс - администратор


Зарегистрирован: 06.01.2005
Показать/Спрятать

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

Добавлено спустя 1 минуту 49 секунд:

Натворили дел со своим обновлением. Наверняка на этом хосте полно сайтов, заточенных на php 5.2., а то и ранее.

_________________
Профессионал - это тот же дилетант, только знающий где ошибется. Генератор db_update.php для phpBB2 с некоторыми удобствами.
Как ставить моды. Что такое [SQL] и с чем его едят | Как правильно задавать вопросы и получать адекватные ответы | Правила форума
Бесплатная техподдержка только на форуме! Не надо стучаться в аську, скайп, слать емайлы, пытаться писать в приват. Спасибо за понимание. Please do not PM, ICQ, Skype or email me for support help - you won't get any reply. If you have a question or issue, post it in the appropriate forum/topic. Thanks!
ВверхНа форуме нет Профиль Сайт Имя в Skype
Показать сообщения:   

Общий рейтинг темы Переход на другую версию php
Средний рейтинг: 0.00 :: Мин. рейтинг: 0 :: Макс. рейтинг: 0 :: Количество оценок: 0
Выберите оценку: 1   2   3   4   5  

Похожие темы
Тема Автор Форум Ответов Посл. сообщение
Нет новых сообщений Не работает регистрация форума phpbb2 при переходе на другой хостинг
переход на другую версию php
Здравствуйте. Прошу помощи. При переносе с другого хостинга на новый не работает регистрация на форуме, также не работает восстановление паролей по почте - не приходит письмо. При переходе по кнопке регистрации
Евгений_007 Поддержка и моды для phpBB2 14 Ср 21 Окт, 2015 12:23 Посмотреть последнее сообщение
vlad77
Нет новых сообщений Переместить вложения из одной темы в другую
На форуме есть несколько тем, которые я хочу удалить, а вложения перенести в новую. Можно ли как-то переместить вложения из одной темы в новую? В админке покопался и ничего похожего не нашёл. Поиск в гугле дал только про
АлексейМ Поддержка и моды для phpBB3 6 Сб 17 Май, 2014 15:21 Посмотреть последнее сообщение
АлексейМ
Нет новых сообщений Переход на другой движок
У меня вопрос. Есть форум на движке PHPBB, на форуме много тем, есть пользователи. Я перехожу на другой движок, как сделать так, что бы все темы и пользователи сохранились на новом движке???? Иными словами перенести их
Scuffer Поддержка и моды для phpBB2 1 Пн 25 Сен, 2006 06:56 Посмотреть последнее сообщение
Sergey
Нет новых сообщений При нажатии на название тему, переход сразу в конец
Иногда в теме больше 100 страниц, и как бы сделать что бы сразу переходило на последнюю страницу а не на первую при нажатии на Последнее сообщение??
Ренегат Поддержка и моды для phpBB2 5 Вт 15 Ноя, 2016 21:22 Посмотреть последнее сообщение
Ренегат






Часовой пояс: UTC + 3 часа
Просматривают тему:
Зарегистрированные пользователи: Нет

Перейти:   
Версия для печати
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы
/a
Имя:

Пароль:

Запомнить
  Яндекс.Метрика
CrackerTracker © 2004 - 2018 CBACK.de