Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > PHP-NUKE > Настройка и Изменение
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Soniks вне форума      Старый Обсуждение темы "Оптимизация PHP-NUKE" #111  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
12.02.2006, 21:46

В данной теме предлагаю обсуждать вопросы, связанные с темой Оптимизация PHP-NUKE.
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Jay вне форума      Старый #112  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
30.07.2006, 22:52

php-nuke 7.6+2.9

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

--------------------------------------------------------------------------------------------
- 2. Изменим вызов конфиг файла и подключение к бд, находим:
--------------------------------------------------------------------------------------------

После этого обновления блок "Новое на форуме" перестал получать информацию. Это - достаточно популярный блок block-Rus_Center.php, немного модернизированный. Попробовал другие аналогичные блоки - результат тот же. А точнее, отсутствие оного.

--------------------------------------------------------------------------------------------
- 7. Обновим функцию проверки на активность модуля и функции, работающие с блоками, находим:
--------------------------------------------------------------------------------------------

Вот здесь начались главные мои проблемы и ярешил заморозить оптимизацию, узнав о причинах проблем. Во-первых, хочу уточнить еще раз, что используется версия 7.6, т.е. функция filter() не должна быть - внимательно ручками убирал ее. Но не сразу, сначала слепо скопировал и получил только загружаемую шапку сайта :). Исправил. После этого получаю: Открытие страницы: 15.7 секунды. Пробовал на разных браузерах - результат все тот же - мега плачевный.

P.S. Естесственно, оптимизирую и тестирую на локалке.
 
...Свобода - это то, что у тебя внутри!...


Jay вне форума      Старый #113  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
01.08.2006, 19:44

Soniks, ну помогите советом, пожалуйста :) Или пошлите куда подальше меня с моей 7.6 и нефига тут оптимизировать :)
 
...Свобода - это то, что у тебя внутри!...


Soniks вне форума      Старый #114  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
01.08.2006, 19:51

Jay возможно вы убрали старый метод подключения к бд, которое и использует этот блок, если у вас не получается убрать правильно функцию filter()? то попробуйте ее добавить из 7.9 версии
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


Jay вне форума      Старый #115  
Аватара для Jay
Jay
Участник
Регистрация: 11.10.2005
Сообщения: 58


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Jay Найти все сообщения от Jay Добавить Jay в список друзей  
01.08.2006, 21:13

Soniks, может и правда неправильно убираю?

У Вас указано так:
Код:
$bkey = filter($row['bkey'], nohtml); $title = filter($row['title'], nohtml);


Я преобразую:
Код:
$bkey = $row['bkey']; $title = $row['title'];


Извините, ноя не знаю, как добавить эту функцию из 7.9 кроме как обновлением версии нюки :) Просто пока не до полного апгрейда нюки...

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


Soniks вне форума      Старый #116  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
09.08.2006, 01:19

Jay изменяете то правильно, но видимо все-таки отличия какие-то есть или ошибку допускаете в синтаксисе php, включайте вывод ошибок на экран и смотрите, так же стоит обратить внимание на отличие запросов к бд, они тоже могут отличатся, по выводимым столбцам.
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


gongalo вне форума      Старый #117  
gongalo
Новенький
Регистрация: 22.06.2006
Сообщения: 6


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для gongalo Найти все сообщения от gongalo Добавить gongalo в список друзей  
03.09.2006, 13:01

У меня проблемы с phpnuke 7.9-3.2 - я заметил, что в ней код немного отличается от того, что описан в этом способе оптимизации. Я все проделал как описано, но после этого, браузер выдает ошибку, типа "страница не найдена, браузер обнаружил, что сервер перенаправляет на страницу, адрес которой никогда не заканчивается" - что-то типа этого. пробовал таким способом оптимизит shkurki2 - там работает. - результат ЗНАЧИТЕЛЬНЫЙ! Кол-во запросов уменшается от 300 - до 90, - но это тоже много

Soniks вне форума      Старый #118  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
05.09.2006, 00:18

gongalo делайте пошагово, если страница переадресовывается значит ошиблись в вызове функции Header("Location: .....");
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".


whitepanther вне форума      Старый #119  
Аватара для whitepanther
whitepanther
Новенький
Регистрация: 25.10.2006
Сообщения: 14


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для whitepanther Найти все сообщения от whitepanther Добавить whitepanther в список друзей  
04.11.2006, 03:37

Провел оптимизацию по инструкции, но есть проблемы:

В 7-м шаге требуется заменить три функции. Меняю и сайт, такое ощущение, входит в бесконечный цикл. Пробовал менять эти функции по-очереди, первая заменяется без проблем и сайт не выдает ошибок, на второй выдает ошибку такого рода:
Цитата Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/mainfile.php on line 1064

Warning: fsockopen(): unable to connect to :80 in /home/mainfile.php on line 1064


На этой строке находится вот это:
PHP код:
 $fp fsockopen($rdf['host'], 80$errno$errstr15); 


А при замене на третью сайт начинает грузиться бесконечно.

Изначально заменяемая часть выглядит вот так:
PHP код:
 function is_active($module) {
    global 
$prefix$db;
    static 
$save;
    if (
is_array($save)) {
        if (isset(
$save[$module])) return ($save[$module]);
        return 
0;
    }
    
$sql "SELECT title FROM ".$prefix."_modules WHERE active=1";
    
$result $db->sql_query($sql);
    while (
$row $db->sql_fetchrow($result)) {
        
$save[$row[0]] = 1;
    }
    
$db->sql_freeresult($result);
    if (isset(
$save[$module])) return ($save[$module]);
    return 
0;
}

function 
render_blocks($side$blockfile$title$content$bid$url) {
        if(!
defined('BLOCK_FILE')) {
          
define('BLOCK_FILE'true);
        }
        if (empty(
$url)) {
                if (empty(
$blockfile)) {
                        if (
$side == "c") {
                                
themecenterbox($title$content);
                        } elseif (
$side == "d") {
                                
themecenterbox($title$content);
                        } else {
                                
themesidebox($title$content);
                        }
                } else {
                        if (
$side == "c") {
                                
blockfileinc($title$blockfile1);
                        } elseif (
$side == "d") {
                                
blockfileinc($title$blockfile1);
                        } else {
                                
blockfileinc($title$blockfile);
                        }
                }
        } else {
                if (
$side == "c" OR $side == "d") {
                        
headlines($bid,1);
                } else {
                        
headlines($bid);
                }
        }
}

function 
blocks($side) {
        global 
$storynum$prefix$multilingual$currentlang$db$admin$user;
        if (
$multilingual == 1) {
                
$querylang "AND (blanguage='$currentlang' OR blanguage='')";
        } else {
                
$querylang "";
        }
        if (
strtolower($side[0]) == "l") {
                
$pos "l";
        } elseif (
strtolower($side[0]) == "r") {
                
$pos "r";
        }  elseif (
strtolower($side[0]) == "c") {
                
$pos "c";
        } elseif  (
strtolower($side[0]) == "d") {
                
$pos "d";
        }
        
$side $pos;
        
$sql "SELECT bid, bkey, title, content, url, blockfile, view, expire, action, subscription FROM ".$prefix."_blocks WHERE bposition='$pos' AND active='1' $querylang ORDER BY weight ASC";
        
$result $db->sql_query($sql);
        while(
$row $db->sql_fetchrow($result)) {
                
$bid intval($row['bid']);
                
$title filter($row['title'], "nohtml");
                
$content $row['content'];
                
$url filter($row['url'], "nohtml");
                
$blockfile filter($row['blockfile'], "nohtml");
                
$view intval($row['view']);
                
$expire intval($row['expire']);
                
$action filter($row['action'], "nohtml");
                
$action substr($action0,1);
                
$now time();
                
$sub intval($row['subscription']);
                if (
$sub == OR ($sub == AND !paid())) {
                        if (
$expire != AND $expire <= $now) {
                                if (
$action == "d") {
                                        
$db->sql_query("UPDATE ".$prefix."_blocks SET active='0', expire='0' WHERE bid='$bid'");
                                        return;
                                } elseif (
$action == "r") {
                                        
$db->sql_query("DELETE FROM ".$prefix."_blocks WHERE bid='$bid'");
                                        return;
                                }
                        }
                        if (
$row['bkey'] == "admin") {
                                
adminblock();
                        } elseif (
$row['bkey'] == "userbox") {
                                
userblock();
                        } elseif (empty(
$row['bkey'])) {
                                if (
$view == 0) {
                                        
render_blocks($side$blockfile$title$content$bid$url);
                                } elseif (
$view == AND is_user($user) || is_admin($admin)) {
                                        
render_blocks($side$blockfile$title$content$bid$url);
                                } elseif (
$view == AND is_admin($admin)) {
                                        
render_blocks($side$blockfile$title$content$bid$url);
                                } elseif (
$view == AND !is_user($user) || is_admin($admin)) {
                                        
render_blocks($side$blockfile$title$content$bid$url);
                                }
                        }
                }
        }
        
$db->sql_freeresult($result);



Версия Нюки: 7.9.0_3.2_20 Rus

whitepanther вне форума      Старый #120  
Аватара для whitepanther
whitepanther
Новенький
Регистрация: 25.10.2006
Сообщения: 14


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для whitepanther Найти все сообщения от whitepanther Добавить whitepanther в список друзей  
06.11.2006, 02:45

Нашел решение этой проблемы!
Уважаемому gongalo вероятно поможет.

В 7-м шаге меняются 3 функции.
Так вот...

Вместо
Код:
function render_blocks($side, $blockinfo) { if ($blockinfo['url'] == "") { if ($blockinfo['blockfile'] == "") { if ($side == "c") { themecenterbox($blockinfo['title'], $blockinfo['content']); } elseif ($side == "d") { themecenterbox($blockinfo['title'], $blockinfo['content']); } else { themesidebox($blockinfo['title'], $blockinfo['content']); } } else { if ($side == "c") { blockfileinc($blockinfo['title'], $blockinfo['blockfile'], 1); } elseif ($side == "d") { blockfileinc($blockinfo['title'], $blockinfo['blockfile'], 1); } else { blockfileinc($blockinfo['title'], $blockinfo['blockfile']); } } } else { if ($side == "c" OR $side == "d") { headlines($blockinfo,1); } else { headlines($blockinfo); } } }


Заменяем на
Код:
function render_blocks($side, $blockinfo) { if(!defined('BLOCK_FILE')) { define('BLOCK_FILE', true); } if ($blockinfo['url'] == "") { if ($blockinfo['blockfile'] == "") { if ($side == "c") { themecenterbox($blockinfo['title'], $blockinfo['content']); } elseif ($side == "d") { themecenterbox($blockinfo['title'], $blockinfo['content']); } else { themesidebox($blockinfo['title'], $blockinfo['content']); } } else { if ($side == "c") { blockfileinc($blockinfo['title'], $blockinfo['blockfile'], 1); } elseif ($side == "d") { blockfileinc($blockinfo['title'], $blockinfo['blockfile'], 1); } else { blockfileinc($blockinfo['title'], $blockinfo['blockfile']); } } } else { if ($side == "c" OR $side == "d") { headlines($blockinfo,1); } else { headlines($blockinfo); } } }


Соникс верно указал, что проблема с Header("Location: .....");, но эта трабла возникает с блоками, у которых код начинается с

Код:
if (!defined('BLOCK_FILE')) { Header("Location: ../index.php"); die(); }

typus вне форума      Старый #121  
typus
Частый Гость
Регистрация: 18.09.2006
Сообщения: 39


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для typus Посетить домашнюю страницу typus Найти все сообщения от typus Добавить typus в список друзей  
08.11.2006, 18:39

Здравствуйте все.
Проделал на локалке оптимизацию,версия Нюки-последняя Шкурки2,все строго по пунктам,везде значительный результат,но пара косяков все-таки возникла.
1)В эту версию встроена NukeSentinel™ 2.4.2,так вот ее не видно не откуда - ни с админ панели, ни с блока админа.Кто-нибудь сталкивался с этим?
Есть еще пара косяков, но с ними в принципе можно было бы жить
2)У кого-то уже было тут,что-то похожее,блок админа отображается как ему хочется.Т.е. захожу в mysite/admin/php - админ-панель есть - слева блока админа - нет.Нажму, например, на ссылки - появляется,еще куда-то - исчезает снова.Нажму в блоке юзера на ваш аккаунт - появляется,на другие модули в блоке юзера - исчезает.Хотя,может, так и было задумано
3)У меня на главной вместо ньюс установлен модуль последних новостей, ну вроде того, как на шкурках или PHP-Nuke по-русски,даже не помню,у кого скачал из них,там выводятся 3 последние новости и остальные внизу списком,только заглавия.У меня после оптимизации не видно названия - "Последние новости" и не отображаются картинки новостей.
Вот на первый взгляд такие траблы,может еще что-то вылезет, пока не знаю, буду наблюдать.
Просьба,если у кого-то что -то такое было и было решаемо - подскажите,битте,а то оптимизировать так и так надо - на главной 383 запроса.
Спасибо

Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совмещаю PHP Nuke 7.8 и vBulletin 3.0.7 Ernest-Oleg-Iv Настройка и Изменение 5 07.01.2007 17:18
пробоемы с Php nuke 7.5 rus незарегистрированный Установка 3 08.09.2005 01:20


Часовой пояс GMT +4, время: 07:03.


На Верх
Рейтинг@Mail.ru