Перейти к содержимому


Фотография

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

Форумы IBResource

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 24
Sodrian
  • Участники
  • Cообщений: 2

Отправлено

День добрый!
столкнулся с такой проблемой : поставил 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 наполовину
какая между ними принципиальная разница, что на одной версии не работает , а на другой работает, и как это можно изменить?

sattu
  • Участники
  • Cообщений: 3

Отправлено

у меня сейчас аналогичная проблема :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.

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

Sodrian
  • Участники
  • Cообщений: 2

Отправлено

это все можно сделать намного легче :D
у пятой php появилась директива register_long_arrays (включает старые суперглобальные массивы начинающиеся с $HTTP_) , по умолчанию она off , включи ее и у тебя будет тоже самое что и ты сделал ;)
при это ОПЯТЬ-таки не будет работать профиль пользователя и т.д...
PS
задал вопрос на оффициальном сайте , авось помогут ...
на оффициалке ответили, что ipb 1.3 больше не разрабатывается и поэтому он никогда не будет совместим с php5...

GiV
  • Участники
  • Cообщений: 5 513
  • http://www.wtf.sh/
  • Город:да

Отправлено

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

----
Проверено, что версии 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 = "";

docent_
  • Участники
  • Cообщений: 1

Отправлено

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

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

Сообщение отредактировал docent_: 04 Декабрь 2005 - 14:03


Velomax
  • Участники
  • Cообщений: 49
  • http://www.velomax.lviv.ua

Отправлено

Огромное спасибо GiV.
Вчера установил php-5 и форум перестал показывать профили пользователей.
А сегодня нашел тут поиском эту тему :D

blackman
  • Участники
  • Cообщений: 18
  • http://articles.org.ru

Отправлено

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

Sannis
  • Команда форума
  • Cообщений: 11 877
  • http://sannis.ru
  • Город:Москва
  • Интересы:Фотография, физика, высокопроизводительные системы, прикладное программирование, спортивный туризм.

Отправлено

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

blackman
  • Участники
  • Cообщений: 18
  • http://articles.org.ru

Отправлено

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

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

Sannis
  • Команда форума
  • Cообщений: 11 877
  • http://sannis.ru
  • Город:Москва
  • Интересы:Фотография, физика, высокопроизводительные системы, прикладное программирование, спортивный туризм.

Отправлено

Повезло вам, что до сих пор на PHP5 не заставили перейти :D

Unico
  • Участники
  • Cообщений: 149
  • http://

Отправлено

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

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

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

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

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

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

Arhar
  • Команда форума
  • Cообщений: 5 631

Отправлено

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

Call to undefined method

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

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

Unico
  • Участники
  • Cообщений: 149
  • http://

Отправлено

нету там..
и на форуме там в первую очередь спросил

autodiag
  • Участники
  • Cообщений: 81
  • http://

Отправлено

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

Сообщение отредактировал autodiag: 19 Апрель 2012 - 17:36


FatCat
  • Клиенты
  • Cообщений: 3 351
  • http://pharm-forum.ru
  • Город:נצרת עילית

Отправлено

Думаю, что смена версии пхп пройдет незаметно.

passat19
  • Участники
  • Cообщений: 35

Отправлено

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

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

siv1987
  • Участники
  • Cообщений: 472
  • http://

Отправлено

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

passat19
  • Участники
  • Cообщений: 35

Отправлено

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

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

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

siv1987
  • Участники
  • Cообщений: 472
  • http://

Отправлено

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


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

dimitry
  • Участники
  • Cообщений: 204

Отправлено

Проблемы с совместимостью с PHP 5.4:
http://www.sysman.ru...?showtopic=5947
и 
http://forum.sysman....=0
 
Если форум моженный-переможенный, как то:
Установлены моды:
а) Объявлений, глобальных объявлений
б) 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='&middot;&middot;&middot;&middot;')

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'>&nbsp;<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);

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

Скрытый текст

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;

		}

Скрытый текст

P.S.

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

Illegal string offset '' in

Сообщение отредактировал Arhar: 05 Октябрь 2014 - 13:58
скрыл ересь





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных