Перейти к контенту
  • 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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