phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Przesunięty przez: arcy
26-03-2009, 00:01
[gotowa modyfikacja] Spider Friendly - poprawki i odmulanie
Autor Wiadomość
Centurion



Pomógł: 543 razy
Posty: 1972
Wysłany: 09-02-2009, 01:23   [gotowa modyfikacja] Spider Friendly - poprawki i odmulanie

UWAGA! Poniższa modyfikacja była tylko tymczasowym rozwiązaniem problemu z obciążeniem związanym z modem SPIDER FRIENDLY i nie będzie już rozwijana. Link do tematu z ostatecznym rozwiązaniem:
http://www.przemo.org/php...pic.php?t=69660
Mimo wszystko poniższy sposób poprawnie i może być stosowane na forach!


Piszę tutaj bo temat ze Spider Friendly jest standowczo za długi a problem jest dość poważny, w każdym razie Crack powinien coś z tym zrobić, ja podam tylko moje rozwiązanie ;)

Problem występuje przy włączonej opcji przepisywanie ze słowami kluczowymi, mianowicie, przy dość dużej ilości tematów na forum każdorazowo przy zapisywaniu cache tworzy się lista wszystkich tematów i jest zapisywana do pliku. Pliki te potrafią mieć nawet po kilkaset kb i skutecznie zamulić serwer przy includowaniu. Dlatego lepiej trzymać tą wygenerowaną listę tematów w bazie danych, gdyż baza danych jest zawsze szybsza niż wczytywanie plików.

Oto moje rozwiązanie, które odmuliło już 4 fora:

Kod:
nadpisz plik includes/spider_friendly (jest w załączniku)

#--- [ SQL ] ---
CREATE TABLE `phpbb_sf_cache` (
  `id` tinyint(1) NOT NULL auto_increment,
  `text` longtext NOT NULL,
  PRIMARY KEY  (`id`)
);

INSERT INTO phpbb_sf_cache VALUES (1, '');
INSERT INTO phpbb_sf_cache VALUES (2, '');
INSERT INTO phpbb_sf_cache VALUES (3, '');

#--- [ OPEN ] ---
includes/constants.php

#--- [ FIND ] ---
?>

#--- [ BEFORE ADD ]---
define('SF_CACHE', $table_prefix . 'sf_cache');

#--- [ OPEN ] ---
includes/function_post.php

#--- [ FIND AND REMOVE ] ---
sql_cache('clear', 'multisqlcache_topics_sf');

#--- [ FIND  ] ---
$topic_id = $db->sql_nextid();
}

#--- [ AFTER ADD ] ---
$sql = "UPDATE " . SF_CACHE . " SET text = ''";
$result = $db->sql_query($sql);

#--- [ OPEN ] ---
.htaccess

#--- [ FIND ] ---
RewriteRule ^cat([0-9]*)\.htm$ ./index.php?c=$1 [L,QSA]

#--- [ AFTER ADD ] ---
RewriteRule ^(cat|.*-cat)([0-9]+)\.htm$ ./index.php?c=$2 [L,QSA]

#--- [ OPEN ] ---
admin/admin_forums.php

#--- [ FIND ] ---
//należy dodać po każdym wystąpieniu tego - 7 razy
sql_cache('clear', 'forum_data');

#--- [ AFTER ADD ] ---
$sql = "UPDATE " . SF_CACHE . " SET text = ''";
$db->sql_query($sql);


I to wszystko. Gwarantuję Wam że wasz serwer odetchnie.

Dodatkowo dodałem funkcję przepisywania nazw kategorii.

Uwaga.
Jeśli wyskoczy Wam błąd z max_allowed_packet skontaktujcie się z hosterem żeby ustawił większą wartość, aczkolwiek nie sądze żeby się to Wam przytrafiło.

Do Cracka: chyba sensowniej by było zrobić dodatkową komórkę w tabeli z tematami z przepisanym urlem nazwy tematu, generowanym przy pisaniu/edycji posta-tematu. Wydaje mi się że byłoby to nieporównywalnien optymalniejsze niż robienie listy tematów za każdym razem.
_________________
Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql
Ostatnio zmieniony przez arcy 05-03-2009, 09:17, w całości zmieniany 5 razy  
 
     
Gadatliwa Kasia 

   
lui754


Pomógł: 591 razy
Posty: 2699
Wysłany: 12-02-2009, 17:11   

Centurion, ta poprawka nie działa poprawnie. Zainstalowałem to u siebie i na jakims forum i na początku jest ok ale póxniej powstaje problem bo nie da się napisać tematu. To znaczy wysyła wszystko ok ale jak chcemy wejść w temat to go nie ma na liście. Przy synchronizacji bazy za pomocą check_files wsykakuje lista tematów które są "puste"

Tak więc zobacz co jest nie tak. Tematów nie da się pisać a posty da.
_________________
lui754
 
     
smyku2

Pomógł: 2 razy
Posty: 114
Wysłany: 12-02-2009, 17:44   

Na localhoście to sprawdzałem z ciekawości i był problem podobny, tylko, że przy pisaniu tematu wyskakiwało info że temat został napisany, po czym strona się odświeżała i witał nas komunikat "Taki temat lub post nie istnieje, albo został przed chwilą skasowany", i temat faktycznie znikał bez śladu.
 
     
Centurion



Pomógł: 543 razy
Posty: 1972
Wysłany: 12-02-2009, 17:58   

to może być związane z max_allowed_packet, patrz wyżej
_________________
Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql
 
     
cv65
Czarna lista


Pomógł: 16 razy
Posty: 207
Wysłany: 12-02-2009, 21:33   

Centurion,
a mógłbyś napisac dokładnie co zmieniłęs w pliku
spider_friendly.php

Pzdro
_________________
Mam na sprzedaż mody
charts (obsługa filmików z youtube, okładek, pobieranie tekstów piosenek z tekstowo.pl )

Ajaxowa paginacja w tematach

Pytaj na gygy :P
 
     
Seba123


Pomógł: 74 razy
Posty: 868
Wysłany: 12-02-2009, 22:00   

A porównać pliki to łaska ?
_________________
Fejs
 
     
Centurion



Pomógł: 543 razy
Posty: 1972
Wysłany: 12-02-2009, 22:35   

Słuchajcie sprawdzcie proszę w includes/function_post.php

przenieście
Kod:
$sql = "UPDATE " . SF_CACHE . " SET text = ''";
$result = $db->sql_query($sql);


POD

Kod:
$topic_id = $db->sql_nextid();
}
_________________
Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql
 
     
silversurfer

Posty: 49
Wysłany: 13-02-2009, 19:02   

Centurion, Hm nie mam pewności czy wprowadzić zmiany, gdy wystąpią błędy da się jakoś cofnąć, pomijam skopiowanie wcześniej pliku .php mowa o zapytaniu sql.
 
     
kevin_


Pomógł: 768 razy
Posty: 2680
Wysłany: 13-02-2009, 19:21   

silversurfer, sądzę że wystarczy zapytanie:
Kod:

DROP TABLE `phpbb_sf_cache` 


bo utworzyliśmy NOWĄ TABELE i dodaliśmy do niej wpisy, więc sądzę że powinno być później "skutków ubocznych" ;)
_________________
Prezes :mrgreen:
 
     
Centurion



Pomógł: 543 razy
Posty: 1972
Wysłany: 14-02-2009, 09:41   

dokładnie jak kevin_ napisał, możesz potem tę tabelę spokojnie skasować jak coś pójdzie nie tak
_________________
Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql
 
     
szafa81

Pomógł: 1 raz
Posty: 62
Wysłany: 14-02-2009, 16:31   

mod zainstalowany... poki co zadnych klopotow

nie wiem czy to zwiazane z nim ale mocno skrocil sie czas otwarcia strony podawany na dole forum
_________________
Pozdrawiam, szafa.
 
     
MagicalFire


Pomógł: 980 razy
Posty: 4353
Wysłany: 14-02-2009, 17:15   

Cytat:
nie wiem czy to zwiazane z nim ale mocno skrocil sie czas otwarcia strony podawany na dole forum

tak to jest zasługa tego uzasadnienie
Centurion napisał/a:
mianowicie, przy dość dużej ilości tematów na forum każdorazowo przy zapisywaniu cache tworzy się lista wszystkich tematów i jest zapisywana do pliku. Pliki te potrafią mieć nawet po kilkaset kb i skutecznie zamulić serwer przy includowaniu. Dlatego lepiej trzymać tą wygenerowaną listę tematów w bazie danych, gdyż baza danych jest zawsze szybsza niż wczytywanie plików.
_________________
nie za takie Przemo walczyliśmy
 
     
lui754


Pomógł: 591 razy
Posty: 2699
Wysłany: 14-02-2009, 22:35   

Teraz działa jak należy ;) Forum działa nieco szybciej. Dziękujemy :lol:
_________________
lui754
 
     
Centurion



Pomógł: 543 razy
Posty: 1972
Wysłany: 14-02-2009, 23:16   

Jeśli Crack nie zmieni tego przez jakiś czas to zrobię alternatywą wersję która będzie trzymać wygenerowany url w tabeli z tematami (generowany przy tworzeniu i edycji tematu) i wywalę wogóle tworzenie tej listy tematów za każdym razem. Będzie to najoptymalniejsze z możliwych rozwiązań chyba, aczkolwiek będzie wymagało dużych zmian w kodzie SF, a generalnie niechałbym wchodzić Crackowi w drogę.
_________________
Poza forum pomagam tylko odpłatnie
• przenoszenie/łączenie/naprawianie baz danych
• instalacja/pisanie modów, aktualizacja for z zachowaniem modów
• programowanie php/mysql
 
     
Gadatliwa Kasia 

   
miszko


Pomógł: 10 razy
Posty: 352
Wysłany: 15-02-2009, 12:48   

A co z bazą danych?
Jak duże mniej więcej generowane jest dodatkowe obciążenie dla bazy?
 
     
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,11 sekundy. Zapytań do SQL: 13
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę