#1 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Запуск VOC++ чата на "PHP 5.6" без проблем!

Решил попробовать запустить чат, исправил 2 критические проблемы, после чего чат запустился на php5.6, однако есть ещё другие мелкие проблемки. Любителям попробовать запустить чат на php5.6 и поисправлять остальное, сначала нужно сделать это:

1. В файл inc_comon.php в самом верху добавить такие 3 зелёные строки:

<?php
ini_set('default_charset','cp1251');
mb_internal_encoding("cp1251");
foreach($GLOBALS as $k=>$v) if($k[0]=="_") {
    if($k=="_FILES")  ${"HTTP_POST$k"}=$GLOBALS[$k]; else ${"HTTP$k"."_VARS"}=$GLOBALS[$k];
}

2. В файле events.php найти 73 строку и меняем на новую, изменения синим:

if(function_exists($eventHandlers[$i]["handler"])) $eventHandlers[$i]["handler"]($HParam, $LParam);

3. Чат уже работает, но есть другие файлы с номерами строк где возможны ошибки, просто удаляем красные &:

admin/clan_list.php:19:                         $url = fsockopen($address, 80, &$errno, &$errstr, 30);
edit_clan.php:24:                                  $url = fsockopen($address, 80, &$errno, &$errstr, 30);
plugins/antiproxy/Client.php:632:           $this->socket = fsockopen( $host, $port, &$this->reply, &$this->replyString, 5);
powmod/friends/friends.php:690:            array_push( &$approval_friend, $row_a['friend_name'] );
powmod/friends/friends.php:691:            array_push( &$approval_friend_id, $row_a['fid'] );

SSH команда поиска лишних &, кроме папки форума, для экспертов:

egrep -n -R '[( ]{1}&\$' ./|grep -v Binary|grep -v 'function '|grep -v '/forum/'

4. Если отсутствует файле sender.php в строке 341 добавим пропущенный знак равно =, добавьте его так как в строке ниже:

if (($type=="JPG") || ($type=="JPEG")) $open_file=imagecreatefromjpeg($file.$text);

PS >>> Этот пункт по желанию. Рекомендация для быстрой работы викторины, для всех таблиц в базе данных через phpMyAdmin установить вид движка InnoDB. Зайти в phpMyAdmin, нажать на таблицу, затем в Операции через верхнее меню, и там можно выбрать движок базы InnoDB и конвертировать.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#2 

mychatik
Moderator
Имя: Геннадий
Зарегистрирован: 2016-04-24
Сообщений: 226
На форуме: 52 час.
Репутация: 16 (94%) ±
Инфо  Вебсайт  Написать

Протестировал на рабочем чате.

После внесения поправок и перехода на PHP5.6 - чат работает, но не принимает кириллицу.
В сообщениях проходят смайлы, цифры и английские буквы. Вместо текста на русском языке - пустое сообщение.

Неактивен

#3 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Это единственный баг?
Если да, то может быть стоит им заняться.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#4 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Кажется понял причину кодировки, достаточно прописать в common файле такое

ini_set('default_charset','cp1251');


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#5 

mychatik
Moderator
Имя: Геннадий
Зарегистрирован: 2016-04-24
Сообщений: 226
На форуме: 52 час.
Репутация: 16 (94%) ±
Инфо  Вебсайт  Написать

В принципе, проблема локализована.

Чат заработал! Сообщения идут.

Но сдохла викторина sad
Похоже, как отвалился коннект с базой.
В качестве ответа принимает всё подряд и вместо символов правильного ответа - вопросительные знаки.

https://imgs.su/upload/161/1220612572.png

Потестировал ещё - викторина считает количество знаков и только по этому параметру принимает ответ.
Если знаков меньше, чем в условии вопроса - то не примет ответ, а если больше - то принимает.
Вызов ТОП-10 по команде !топ - работает.

===================

Судя по всему, проблема теперь в mysql_connect - нужно менять на mysqli_connect.
Как-то так...

Расширение — mysql_connect() — устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL.

У меня сделан вывод статистики ответов и награда для пользователей, находящихся в 10-ке лидеров через mysqli_connect - всё работает без изменений.
Но только я поставил обращение к базе через mysql_connect - сразу же пропала статистика.

Неактивен

#6 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

mysql_connect - работает нормально в 5.6, поэтому должно работать, но в версии 5.6 всё сделано для UTF-8, поэтому нужно видимо и для базы задать кодировку верную, напиши мне лично и решим проблему, потом можем написать все нужные исправления для работы на 5.6. А версию 5.3 я планирую удалить в будущем ...


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#7 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Викторина исправлена добавлением mb_internal_encoding("cp1251"); - наверху изменил описание.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#8 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Градиент исправлен в пункте 2.
Кланы и некоторые модули исправляются в пункте 3.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#9 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

1й пункт обновлён для правильной работы загрузки файлов.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

#10 

Dimitry
Ниндзя по зачистке капусты
Имя: Дмитрий
Откуда: Германия
Зарегистрирован: 2003-04-18
Сообщений: 18614
На форуме: 1791 час.
Репутация: 1237 (99%) ±
Инфо  Вебсайт  Написать

Добавлен пункт 4 с исправлением, в некоторых чатах может не выводиться gif вложения по хештегу, только jpg работают.


Моя анкета на vmeste.eu
Если сообщение Вам помогло, отблагодарите участника повысив его репутацию!
PS. То, что нас не убивает, то делает нас сильнее!

Активен

[ Generated in 0.005 seconds, 10 queries]