Перейти к контенту
  • 0

[PHP 5] Директивы php для нормальной работы с ipb 1.3


Sodrian

Вопрос

День добрый!

столкнулся с такой проблемой : поставил ipb на своей компе (php 4.3.11),

форум на половину работает : то есть ссылка типа index.php?showuser=1 выдает белый экран, в то время как допустим посмотреть темы можно (index.php?showforum=1) , то есть, как и сказал, работает наполовину.

подумал, что дело с директивами php.ini, начал исправлять register_globals , register_argc_argv , но это не помогает.

подскажите , в нем может быть проблема, и вообще директивы php тут виноваты или нет !

ЗЫ

устанавливал две версии ipb 1.3 final официальная и ipb 1.3 final редакция bestfilez.ru - один и тот же результат[1130828661:1130832286]извиняюсь за неточность :

на php 4.3.11 форум работает полностью

а на 5.0.4 наполовину

какая между ними принципиальная разница, что на одной версии не работает , а на другой работает, и как это можно изменить?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

у меня сейчас аналогичная проблема :D , добиться результата пока не удается.

 

К сожалению сначало было еще хуже, даже ссылки типа index.php?showforum=1 не работали, был просто булый екран (при включеных всех ошибках и их отображения). Чтобы не включать register_globals решил проблему по другому -- добавил в .htaccess :

php_value auto_prepend_file /var/www/forum/_super_include.php

 

где _super_include.php :

<?

global $HTTP_GET_VARS;

global $HTTP_POST_VARS;

global $HTTP_POST_FILES;

global $HTTP_ENV_VARS;

global $HTTP_SERVER_VARS;

global $HTTP_COOKIE_VARS;

global $HTTP_SESSION_VARS;

 

 

$HTTP_GET_VARS = @$_GET;

$HTTP_POST_VARS = @$_POST;

$HTTP_POST_FILES = @$_FILES;

$HTTP_ENV_VARS = @$_ENV;

$HTTP_SERVER_VARS = @$_SERVER;

$HTTP_COOKIE_VARS = @$_COOKIE;

$HTTP_SESSION_VARS = @$_SESSION;

 

НО! Все проблемы, как говорилось выше, не решились. Не отображаются профиля пользователей, страница "Мой профиль" и т.д.

 

Fedora, PHP 5.0.4 , MySQL 5.0.1 , Apache 2.

 

Сегодня постараюсь разобраться до конца где грабли зарыты, но если ктото их уже откопал -- не сочтите за труд, поделитесь результатами.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

это все можно сделать намного легче :D

у пятой php появилась директива register_long_arrays (включает старые суперглобальные массивы начинающиеся с $HTTP_) , по умолчанию она off , включи ее и у тебя будет тоже самое что и ты сделал ;)

при это ОПЯТЬ-таки не будет работать профиль пользователя и т.д...

PS

задал вопрос на оффициальном сайте , авось помогут ...

на оффициалке ответили, что ipb 1.3 больше не разрабатывается и поэтому он никогда не будет совместим с php5...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Читайте логи ошибок и исправляйте форум так что бы он этих ошибок не выдавал.

 

----

Проверено, что версии 2.0.х хорошо уживаются с PHP пятой версии, а вот при использовании IPB 1.x.x могут возникнуть проблемы. На данный момент выявлены следующие ошибки:

 

Fatal error: Cannot redeclare UserCP::$parser in /home/clients/board/www/sources/Usercp.php on line xxx

 

Исправление осуществляется в файлах ./sources/Profile.php и ./sources/Usercp.php.

Ищем такую строчку:

var $parser;

И либо удаляем ее вообще из этих файлов, либо заменяем на:

//var $parser;

 

Так же возможно наличие ошибки в файле ./sources/misc/contact_member.php где дважды объявлена переменная $email.

 

Так что открываем этот файл и ищем в нем:

var $email = "";

var $forum = "";

var $email = "";

Удадаляем или заменяем один из

var $email = "";

на

//var $email = "";

Ссылка на комментарий
Поделиться на других сайтах

  • 0

У меня возникла проблема с форумом Invision Power Board 2.1.3 , который я установил паралельно на двух хостингах ,процесс установки прошёл одинаково ,тоесть без проблем,но проблема вот в чём , на одном хосте многие функции такие как "Календарь" "Пользователи" (http://awmarket.net/index.php?act=Members) не работают тоесть пишет "Невозможно отобразить страницу", а на другом хостинге всё нормально (http://www.box.in.ua/1/index.php?act=Members).Подскажите пожалуйста в чём проблема. Буду очень благодарен за ответ!

 

ПС . Высшеуказаные решения пробовал - непомогает

Изменено пользователем docent_
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Огромное спасибо GiV.

Вчера установил php-5 и форум перестал показывать профили пользователей.

А сегодня нашел тут поиском эту тему :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Огромное спасибо GiV.

Может быть эту тему закрепить добавив в заголовок PHP 5? Найти ее было довольно трудно

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Дистрибутив 1.3 как-то находите, а тему не получается? Странно :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Дистрибутив 1.3 как-то находите, а тему не получается? Странно :D

В заголовке страницы сайта: "Работаем 3243 день" А сколько лет исполнилось этому дистрибутиву никто уже и не помнит ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Повезло вам, что до сих пор на PHP5 не заставили перейти :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

А у меня при переходе на пхп 5.

вот такая штука стала выскакивать, когда редактирую подпись человека в админке.

 

error: Call to undefined method ipb_member_sync::on_signature_change() in /sources/Admin/ad_member.php on line 3238,

 

не подскажете, в чем дело?

 

но при этом подпись редактируется,

иногда ошибка не выскакивает.

 

ощибка эта и ранее на пхп 4 была. белый экран при редактировании пользователя с огромной подписью, например.

но сейчас стало чаще.

 

есть где-нибудь исправление этого глюка?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
но сейчас стало чаще
Call to undefined method

это все равно, что:

у меня спущено колесо, это мешает ехать, но сейчас стало чаще мешать

 

а исправление наверно можно найти на sysman.ru

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Сейчас на хостинге стоит версия PHP Version 5.2.17, все прекрасно работает., у меня 1.3final. В свое время (при переходе с 4 на 5) были проблемы с несовместимостью, пришлось решать. Теперь хостер объявил что 20 апреля произойдет замена на 5.3.10, вот здесь список изменений: http://ca3.php.net/migration53

Скажите, это опять грозит неработоспособностью форума?

Изменено пользователем autodiag
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вниманию владельцев IPB 1.3:

На двух серверах при апгрейде php с ветки php53-5.3.13 на php5-5.4.3 форум переставал работать не смотря что по коду форум патчился для ветки php 5. "Белый экран" на всех страницах, вообще ничего не показывает, только вход в админку но и в нее не входит, опять белый экран.

Пришлось откатываться назад на ветку php5-5.3

 

Видимо ужесточение стандартов на php5-5.4.3 не допускает исполнение кода 1.3

Ссылка на комментарий
Поделиться на других сайтах

  • 0
passat19, а что вам помешало посмотреть логи сервера, и все таки узнать в чем конкретно заключается причина? Про белый экран информации не меньше чем по синему экрану.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

В логах сервера смотреть нечего, там все стандартно и хорошо. Т.к. под php5-5.4.3 запускаются все скрипты кроме IPB 1.3

 

Я выше уже описал проблему:

что видимо ужесточение стандартов на php5-5.4.3 не допускает исполнение кода 1.3

(уже пропатченного для решения всех проблем с "белыми экранами" на php 5)

 

Вести отладку неработающего кода 1.3 на боевом сервере, при собственно рядовом обновлении, не было никакой возможности...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Т.к. под php5-5.4.3 запускаются все скрипты кроме IPB 1.3

 

Что значит не запускается? Где-то в коде сказано что этот скрипт не для 5.4 и его не надо запускать? Он то как раз запускается, а из-за того что используются либо устаревшие функции, либо устаревший синтаксис, где особенно актуально в случае ООП, вызывается ошибка и скрипт отрубается. Вот эти ошибки и надо смотреть в логах.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Проблемы с совместимостью с PHP 5.4:
http://www.sysman.ru/index.php?showtopic=5947
и 
http://forum.sysman.ru/index.php?act=ST&f=80&t=32862&st=0&&do=findComment&comment=298388
 
Если форум моженный-переможенный, как то:
Установлены моды:
а) Объявлений, глобальных объявлений
б) mod enhanced topic
в) mod secure login
г) mod captcha
d) мод расширенных подфорумов
и прочие моды, то

1)
Исправления:

set_magic_quotes_runtime(0);

на:

ini_set(«magic_quotes_runtime», 0);

надо делать во ВСЕХ файлах, у меня это были:

Processing file : Z:\home\sau.ru\www\forums\index.php

Line 63 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\jcounter.php

Line 5 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\journal.php

Line 33 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\rss.php

Line 41 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\ssi.php

Line 74 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\verty.php

Line 73 - <set_magic_quotes_runtime(0);>

Found 1 occurrences.

Searched 1034 file(s), found 6 occurrences in 6 file(s)

2) Call-time pass-by-reference has been removed in с выходом в свет PHP 5.4.x вообще многих поставила на колени, в т.ч. и IPB 1.3, т.к. там
вот этого

&$

в функциях (особенно, если модов полно установлено) полным-полно, у меня это были следующие файлы и участки кодов:

Processing file : Z:\home\sau.ru\www\forums\index.php

Line 109 - $this->vars = <&$>INFO;

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\journal.php

Line 79 - $this->vars = <&$>INFO;

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\rss.php

Line 77 - $this->vars = <&$>INFO;

Line 223 - function get_debug_info(<&$>xml){

Line 331 - function buildUserWhereClause(<&$>allowed, &$forbidden, $forums=null){

Line 331 - function buildUserWhereClause(&$allowed, <&$>forbidden, $forums=null){

Found 4 occurrences.

Processing file : Z:\home\sau.ru\www\forums\ssi.php

Line 84 - $this->vars = <&$>INFO;

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\verty.php

Line 215 - $skin_universal = <&$>SKIN; //To keep functions.php happy

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\modules\ipb_member_sync.php

Line 56 - function register_class(<&$>class)

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\announce.php

Line 296 - $poster = $this->parse_member( <&$>row );

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Boards.php

Line 582 - $chat->register_class( <&$>this );

Line 1042 - function subforums_stats($id, $newest, <&$>child) {

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Forums.php

Line 1189 - function subforums_stats($id, $newest, <&$>child) {

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\functions.php

Line 1151 - function subforums_addtoform($id, <&$>children, $level='----')

Line 1347 - if ($member == "" || !$member['use_language']) $member = <&$>ibforums->member;

Line 1595 - $member = <&$>ibforums->member;

Found 3 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Login.php

Line 571 - $this->modules->register_class(<&$>this);

Line 595 - $this->modules->register_class(<&$>this);

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\mod_cp.php

Line 1698 - $this->modules->register_class(<&$>class);

Line 1850 - $this->modules->register_class(<&$>class);

Line 2109 - $this->modules->register_class(<&$>class);

Found 3 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Post.php

Line 347 - $post_functions = new post_functions(<&$>this);

Line 433 - $post_functions->process(<&$>this);

Line 437 - $post_functions->show_form(<&$>this);

Found 3 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Register.php

Line 677 - $this->modules->register_class(<&$>this);

Line 1069 - $this->modules->register_class(<&$>this);

Line 1304 - $this->modules->register_class(<&$>this);

Line 1406 - $this->modules->register_class(<&$>this);

Line 1620 - $this->modules->register_class(<&$>this);

Found 5 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Search.php

Line 131 - $this->lib = new search_lib(<&$>this);

Line 2035 - function subforums_addtoform($id, <&$>children, $level='····')

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Topics.php

Line 801 - $poster0 = $this->parse_member( <&$>row0 );

Line 1070 - $poster = $this->parse_member( <&$>row );

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Usercp.php

Line 202 - $this->lib = new usercp_functions(<&$>this);

Line 601 - $this->modules->register_class(<&$>this);

Line 804 - $this->modules->register_class(<&$>this);

Found 3 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Admin\admin_functions.php

Line 926 - function adjust_skin_info(<&$>skin_names, &$bit_names){

Line 926 - function adjust_skin_info(&$skin_names, <&$>bit_names){

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Admin\admin_skin.php

Line 1460 - return "<img src='{$this->img_url}/item.gif' border='0' alt='' valign='absmiddle'> <a href='{$theurl}<&$>url' target='body' style='text-decoration:none'>$name</a><br />";

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Admin\ad_forums.php

Line 2543 - function subforums_dropdown($id, <&$>children, $level='----') {

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Admin\ad_ip_del.php

Line 451 - $this->modules->register_class(<&$>this);

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\Admin\ad_member.php

Line 245 - $this->modules->register_class(<&$>this);

Line 939 - $this->modules->register_class(<&$>this);

Line 1143 - $this->modules->register_class(<&$>this);

Line 2010 - $this->modules->register_class(<&$>this);

Line 2159 - $this->modules->register_class(<&$>this);

Line 4207 - $this->modules->register_class(<&$>this);

Found 6 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\chat_functions.php

Line 54 - function register_class(<&$>class)

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\post_new_post.php

Line 405 - $class->modules->register_class(<&$>class);

Line 432 - function show_form(<&$>class) {

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\post_poll.php

Line 444 - $class->modules->register_class(<&$>class);

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\post_q_reply_post.php

Line 379 - $class->modules->register_class(<&$>class);

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\post_reply_post.php

Line 329 - $class->modules->register_class(<&$>class);

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\search_mysql_ftext.php

Line 41 - $this->is = <&$>that; // hahaha!

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\search_mysql_man.php

Line 41 - $this->is = <&$>that; // hahaha!

Found 1 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\lib\usercp_functions.php

Line 1200 - $this->class->modules->register_class(<&$>this);

Line 1268 - $this->class->modules->register_class(<&$>this);

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\mods\enhanced_topics\mod_enhanced_topics_func.php

Line 78 - function show_form(<&$>topic) {

Line 289 - function changed(<&$>topic, $release_date, $end_date, $move_forum ) {

Line 297 - function update_topic(<&$>topic) {

Line 376 - function update_topic_title(<&$>topic) {

Line 421 - function update_private_topic(<&$>class, &$post) {

Line 421 - function update_private_topic(&$class, <&$>post) {

Line 443 - function update_members_post(<&$>class) {

Line 458 - $class->modules->register_class(<&$>class);

Found 8 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\mods\sec_update_131_A\CodeChange.php

Line 549 - if ($member == "" || !$member['use_language']) $member = <&$>ibforums->member;

Line 797 - $member = <&$>ibforums->member;

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\mods\sec_update_131_B\CodeChange.php

Line 1576 - function adjust_skin_info(<&$>skin_names, &$bit_names){

Line 1576 - function adjust_skin_info(&$skin_names, <&$>bit_names){

Found 2 occurrences.

Processing file : Z:\home\sau.ru\www\forums\sources\mods\spider\mod_spider_ad_func.php

Line 444 - function save_spiders(<&$>SPIDER, $name= "") {

Found 1 occurrences.

Searched 1034 file(s), found 106 occurrences in 54 file(s)

Переход на PHP 5.4 и Fatal error: Call-time pass-by-reference has been removed in
Что требует PHP 5.4
Теперь указание знака амперсанда (&) перед переменной при вызове функции вызывает фатальную ошибку и, как следствие, остановку выполнения дальнейшего кода. В PHP 5.3 это вызывало лишь предупреждение, а сейчас стало все строже.

function userFunc(&$arg) {

return $arg++;

}

А вот здесь амперсанд убираем: 1 userFunc(&$arg);

Должно быть только так: 1 userfunc($arg);

соответственно везде в вышеуказанных файлах надо в функциях убрать амперсанд &, идущий перед $

3)
Если используется Файловый архив v1.0 от bfarber,
то при его просмотре получаем ошибки вверху страницы:
 

Illegal string offset 'show_notes' in Downloads.php

и

Illegal string offset 'show_notes' in FileCP.php

в Downloads.php присутствует код:
 

if($ibforums->vars['d_show_global_notes'] == 1){

$out['all_notes'] = $ibforums->vars['d_global_notes'];

}

if($input['show_notes'] == 1){

$out['all_notes'] .= "<br /><br />".$input['cnotes']."<br />";

}



if($input['show_notes'] == 1 || $ibforums->vars['d_show_global_notes'] == 1){

$out['notes'] = $this->html->show_global_notes($out['all_notes']);

}



я его заменил на:
 

if($ibforums->vars['d_show_global_notes'] == 1){

$out['notes'] = $this->html->show_global_notes($out);

}

и в FileCP.php

подобная же песня:
 

if($ibforums->vars['d_show_global_notes'] == 1){

$out['all_notes'] = $ibforums->vars['d_global_notes'];

}

if($input['show_notes'] == 1){

$out['all_notes'] .= "<br /><br />".$input['cnotes']."<br />";

}



if($input['show_notes'] == 1 || $ibforums->vars['d_show_global_notes'] == 1){

$out['notes'] = $this->html->show_global_notes($out['all_notes']);

}

заменена на:
 

if($ibforums->vars['d_show_global_notes'] == 1){

$out['notes'] = $this->html->show_global_notes($out['all_notes']);

}

вот здесь прав я или нет - не берусь сказать, но ошибки исчезли

4)

При просмотре активных тем по ссылке

index.php?act=Search&CODE=getactive

опять получаем ошибку

Illegal string offset '' in skin_search.php

ну и решение подобное:

там 2 функции:
 

function end_as_post($Data) {

global $ibforums;

return <<<EOF

<br />

<div>{$Data[SHOW_PAGES]}</div>

<div align='left' class="wrapmini">

<{B_NEW}>  {$ibforums->lang['pm_open_new']}

<br /><{B_NORM}>  {$ibforums->lang['pm_open_no']}

<br /><{B_HOT}>  {$ibforums->lang['pm_hot_new']}

<br /><{B_HOT_NN}>  {$ibforums->lang['pm_hot_no']}

</div>



<div align='left' class="wrapmini">

<{B_POLL}>  {$ibforums->lang['pm_poll']}

<br /><{B_POLL_NN}>  {$ibforums->lang['pm_poll_no']}

<br /><{B_LOCKED}>  {$ibforums->lang['pm_locked']}

<br /><{B_MOVED}>  {$ibforums->lang['pm_moved']}

</div>

EOF;

}





function end($Data) {

global $ibforums;

return <<<EOF

</table>

<div class="titlemedium"> </div>

</div>

<br />

<div>{$Data[SHOW_PAGES]}</div>

<br />

<div align='left' class="wrapmini">

<{B_NEW}>  {$ibforums->lang['pm_open_new']}

<br /><{B_NORM}>  {$ibforums->lang['pm_open_no']}

<br /><{B_HOT}>  {$ibforums->lang['pm_hot_new']}

<br /><{B_HOT_NN}>  {$ibforums->lang['pm_hot_no']}

</div>



и как видно вот эта мура

[SHOW_PAGES]

объявляется повторно и вызывает, скорее всего эту ошибку

заменить в функции:
 

function end($Data) {

global $ibforums;

return <<<EOF

</table>

<div class="titlemedium"> </div>

</div>

<br />

<div>{$Data[SHOW_PAGES]}</div>

<br />

<div align='left' class="wrapmini">

<{B_NEW}>  {$ibforums->lang['pm_open_new']}

<br /><{B_NORM}>  {$ibforums->lang['pm_open_no']}

<br /><{B_HOT}>  {$ibforums->lang['pm_hot_new']}

<br /><{B_HOT_NN}>  {$ibforums->lang['pm_hot_no']}

</div>



на:
 

function end($Data) {

global $ibforums;

return <<<EOF

</table>

<div class="titlemedium"> </div>

</div>

<br />

<div>{$Data}</div>

<br />

<div align='left' class="wrapmini">

<{B_NEW}>  {$ibforums->lang['pm_open_new']}

<br /><{B_NORM}>  {$ibforums->lang['pm_open_no']}

<br /><{B_HOT}>  {$ibforums->lang['pm_hot_new']}

<br /><{B_HOT_NN}>  {$ibforums->lang['pm_hot_no']}

</div>



 

 

5)
в админке в левом фрейме получил нефатальную ошибку вверху (из-за установленного мода mod_sec_update_131)
 

Creating default object from empty value in admin_functions.php

код:
 

function build_tree() {

global $IN, $std, $INFO, $PAGES, $CATS, $SKIN, $DESC;



$html = $SKIN->get_men_js();

$links = "";

foreach($CATS as $cid => $name) {

$ADMIN->jump_menu .= "<optgroup label='$name'>\n";

....

выдавал эту ошибку

Решил так:

над:
 

$ADMIN->jump_menu .= "<optgroup label='$name'>\n";

добавить:
 

$ADMIN = new stdClass();

6)

Modarate.php

Найти:
 

  if ( ! $post = $DB->fetch_row() )
        {
            $this->moderate_error();
        }
        
      $passed = 0;
		
		if ( $ibforums->member['g_is_supmod'] == 1 )
		{
			$passed = 1;

		}
	if ($this->moderator['delete_post'] == 1)
		{
			$passed = 1;

		}

Заменил участок:

if ( $ibforums->member['g_is_supmod'] == 1 )
		{
			$passed = 1;

		}
	if ($this->moderator['delete_post'] == 1)
		{
			$passed = 1;

		}

на:
 

if ( $ibforums->member['g_is_supmod'] == 1 || $this->moderator['delete_post'] == 1)
		{
			$passed = 1;

		}

 

7)
Если установлен мод мультивыбора вариантов в опросе:

skin_post.php
 

<td class='pformright'><textarea cols='60' rows='12' name='PollAnswers' class='textinput'>$data</textarea>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr> 
                <td width="15%"><input type='checkbox' size='40' value='1' name='allow_disc' class='forminput'>
                   {$ibforums->lang['poll_only']} </td>
                <td width="15%">
                    <input name='multi_poll' type='checkbox' class='forminput' id="multi_poll" value='1' size='40'>
                    <b>Сделать Мульти-Опрос?</b> {$data['min_max']}<br>
                    (Мульти-выбор в опросе) <BR>                                        
               </td>

Убрал ['min_max'] из этого участка

8)

Illegal string offset 'show_notes' in Topics.php

участок:
 

  if ( ! $ibforums->topic_cache['tid'] )
        {
			$DB->query("SELECT t.*, f.topic_mm_id, f.name as forum_name, f.quick_reply, f.id as forum_id, f.read_perms, f.reply_perms, f.parent_id, f.use_html,
							   f.start_perms, f.allow_poll, f.password, f.posts as forum_posts, f.topics as forum_topics, f.upload_perms,
							   f.show_rules, f.rules_text, f.rules_title,
							   c.name as cat_name, c.id as cat_id
						FROM ibf_topics t, ibf_forums f , ibf_categories c where t.tid=".$ibforums->input['t']." and f.id = t.forum_id and f.category=c.id");
			
			$this->topic = $DB->fetch_row();
        }
        else
        {
        	$this->topic = $ibforums->topic_cache;
        }

содержал:

topic_cache['tid']

в то время, как дальше, так и везде в прочих файлах:

topic['tid']

Заменить, соответственно

topic_cache['tid']

на:
 

topic['tid']

 

 

P.S.

Вот только так. Сейчас еще смотрю, тестирую, вероятно, опять какие-то "подарки" могут быть, особенно из-за

Illegal string offset '' in
Изменено пользователем Arhar
скрыл ересь
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Illegal string offset лечится совершенно другими способами - указанные выше недопустимы

Необходимо дописывать проверку существования переменной и ее определение в каждом конкретном случае

Например не

if ( ! $ibforums->topic_cache['tid'] )
а

if ( !is_array($ibforums->topic_cache) or !array_key_exists('tid',$ibforums->topic_cache) )
и это наверняка не все, например при наличии ключа и значении 0 тоже должен срабатывать этот иф, так что код должен не уменьшиться, а разростись
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Illegal string offset лечится совершенно другими способами - указанные выше недопустимы

Хорошо, что бы вы предложили бы сделать в вышеуказанных случаях в вышеуказанных файлах с проблемой с Illegal string offset
Ссылка на комментарий
Поделиться на других сайтах

  • 0

в каждом конкретном случае для начала необходимо сделать принт интересующих переменных, а также желательно бектрейс, узнать, почему их там нет, ну и дописать перед указанными условиями обработчики случаев отсутствия, чтобы не вызывать код с отсутствующими переменными, как это есть сейчас

еще раз повторяю - в каждом конкретном случае решение будет свое, и вырабатываться должно на месте, у меня нет 1.3 и способа это проверить и мне лень его устанавливать

Ссылка на комментарий
Поделиться на других сайтах

  • 0

index.php
После строки

$ibforums->input = $std->parse_incoming();

добавить:

$inputz = array(
'act',
'showuser',
'download',
'dlcategory',
'sender',
'st',
'Privacy',
'f',
'p',
'showforum',
'showtopic',
't',
'CODE',
'last_activity',
'last_visit',
'setskin',
);
foreach($inputz as $z)if(!isset($ibforums->input[$z]))$ibforums->input[$z] = "";
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Здравствуйте, господа!

После переезда на новый хостинг открывается только первая страница форума (1.3.1), дальнейшее продвижение вызывает ошибку 500.

В логах есть вот такая строка Invalid command '$INFO['base_dir']', perhaps misspelled or defined by a module not included in the server configuration

На сервере версия php 5.2.17 Подскажите, пожалуйста, как это решить.

Можно установить и другие версии, только не думаю, что это актуально.

5.3.29 (alt),   5.4.16 (native), 5.4.45 (alt), 5.5.38 (alt), 5.6.36 (alt), 7.0.30 (alt), 7.1.19 (alt), 7.2.7 (alt)


Хм, в .htaccess была строка $INFO['base_dir'] = '/www/diving-club.com/forum/';

Удалил, ошибки 500 больше нет, но навигация по форуму не работает.

Возвращает на главную страницу форума.

 

Проблема решилась добавлением в файл .htaccess:

php_flag register_long_arrays on
 

Изменено пользователем Scully
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.