Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Установка Psychostats 3.1 на PHP 5.3

Статус пользователя L1ghT
сообщение 6.1.2012, 18:03
Сообщение #1


Стаж: 16 лет

Сообщений: 274
Благодарностей: 52
Полезность: 167

Это не мануал по установке Psychostats 3.1, а инструкция как сделать ,чтобы Psychostats 3.1 работал на php 5.3 Кстати, чтобы поставить Psychostats 3.1 необходимо: в файле:
/install/common.php
Найти:
Код
error_reporting(E_ALL ^ E_NOTICE); set_magic_quotes_runtime(0);

Заменить на:
Код
error_reporting(0); //set_magic_quotes_runtime(0);

В связи выходом новой версии php 5.3 очень много сайтов (модов, плагинов) стало некорректно работать, причина этого кроется в том, что разработчики отметили часть функций как DEPRECATED - это означает, что они перестанут вообще работать в следующих версиях php. Список отмеченных DEPRECATED функций:

call_user_method()
call_user_method_array()
define_syslog_variables()
dl()
ereg()
ereg_replace()
eregi()
eregi_replace()
set_magic_quotes_runtime()
session_register()
session_unregister()
session_is_registered()
set_socket_blocking()
split()
spliti()
sql_regcase()
mysql_db_query()
mysql_escape_string()

Из-за этого возникла серьёзная проблема при установке Psychostats 3.1 на php 5.3 Немного поковырявшись, решили эту проблему. Вот список того, что надо сделать, чтобы статистика корректно работала: Изменения: Файл:
/includes/functions.php
Найти:
Код
function compacttime($seconds, $format="hh:mm:ss") {

Добавить после:
Код
/*--- TF Mod -*/ $format="hh:mm:ss"; /*--- End TF Mod -*/

Файл:
/includes/class_table.php
Найти:
Код
if (function_exists($callback) or is_array($callback)) {
$ret = call_user_func_array($callback, $params ? array($html, $params) : $html);
elseif (strpos($callback, '%') !== false) {
$ret = sprintf($callback, $html);
}
if ($ret !== false) $html = $ret;
/*
list($obj, $func) = is_array($callback) ? $callback : array(null, $callback);
if ($obj and is_object($obj) and method_exists($obj, $func)) {
$html = $obj->$func($html);
} elseif (function_exists($func)) {
$html = $func($html);
}
*/
return $html;
}

Заменить на:
Код
function callback($html, $callback, $params = array()) {

$ret = false;

if ($ret !== false) $html = $ret;

list($obj, $func) = is_array($callback) ? $callback : array(null, $callback);
if ($obj and is_object($obj) and method_exists($obj, $func)) {
$html = $obj->$func($html);
} elseif (function_exists($func)) {
$html = $func($html,$params);
}

return $html;

}

Файл:
/includes/common.php
Найти:
Код
error_reporting(E_ALL ^ E_NOTICE);

Заменить на:
Код
error_reporting(0);

Найти:
Код
set_magic_quotes_runtime(0);

Заменить на:
Код
//set_magic_quotes_runtime(0);

Источник
http://tf-studio.ru/article/Ustanovka_Psychostats_3_1_na_php_5_3.html


Отредактировал: tatowka, - 6.1.2012, 20:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 8 раз
   Цитировать сообщение
Статус пользователя нуб2
сообщение 6.1.2012, 20:09
Сообщение #2


Стаж: 14 лет

Сообщений: 2367
Благодарностей: 1209
Полезность: 1014

Цитата(tatowka @ 6.1.2012, 19:03) *
Код
function callback($html, $callback, $params = array()) { $ret = false; if (function_exists($callback) or is_array($callback)) { $ret = call_user_func_array($callback, $params ? array($html, $params) : $html); } elseif (strpos($callback, '%') !== false) { $ret = sprintf($callback, $html); } if ($ret !== false) $html = $ret; /* list($obj, $func) = is_array($callback) ? $callback : array(null, $callback); if ($obj and is_object($obj) and method_exists($obj, $func)) { $html = $obj->$func($html); } elseif (function_exists($func)) { $html = $func($html); } */ return $html; }

Заменить на:
Код
function callback($html, $callback, $params = array()) { /*--- TF Mod -*/ $ret = false; if ($ret !== false) $html = $ret; list($obj, $func) = is_array($callback) ? $callback : array(null, $callback); if ($obj and is_object($obj) and method_exists($obj, $func)) { $html = $obj->$func($html); } elseif (function_exists($func)) { $html = $func($html,$params); } return $html; /*--- End TF Mod -*/ }

Сделай форматирование как надо. Не копипасть вслепую!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Nindza
сообщение 18.1.2012, 23:55
Сообщение #3
Стаж: 19 лет

Сообщений: 113
Благодарностей: 6
Полезность: < 0

Бред.

includes/common.php
Код
error_reporting(E_ALL ^ E_NOTICE);

заменить на
Код
error_reporting(E_ERROR);


includes/class_table.php
Код
$ret = call_user_func_array($callback, $params ? array($html, $params) : $html);

заменить на
Код
$ret = call_user_func_array($callback, $params ? array($html, $params) : array($html));
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 77888768
сообщение 6.4.2012, 12:53
Сообщение #4
Стаж: 15 лет

Сообщений: 1
Благодарностей: 1
Полезность: 0

спасибо )) только тутошибочка


Файл:
/includes/class_table.php
Найти:
Код
Код
if (function_exists($callback) or is_array($callback)) {
$ret = call_user_func_array($callback, $params ? array($html, $params) : $html);
elseif (strpos($callback, '%') !== false) {
$ret = sprintf($callback, $html);
}
if ($ret !== false) $html = $ret;
/*
list($obj, $func) = is_array($callback) ? $callback : array(null, $callback);
if ($obj and is_object($obj) and method_exists($obj, $func)) {
$html = $obj->$func($html);
} elseif (function_exists($func)) {
$html = $func($html);
}
*/
return $html;
}

Заменить на:
Код
Код
[size="4"][b]function callback($html, $callback, $params = array()) { [/b][/size] - это не надо !!!

$ret = false;

if ($ret !== false) $html = $ret;

list($obj, $func) = is_array($callback) ? $callback : array(null, $callback);
if ($obj and is_object($obj) and method_exists($obj, $func)) {
$html = $obj->$func($html);
} elseif (function_exists($func)) {
$html = $func($html,$params);
}

return $html;

}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: