phpBB kolejne starcie…

Od lipca zeszłego roku jestem szczęśliwym adminem forum  o wdzięcznej nazwie i adresie NaCaleZycie.pl Początkowo ruch był znikomy ok. 10 stałych użytkowników i ja…Z czasem forum zaczyna się rozrastać i nabierać rumieńców. Doprowadziło to do powstania poradnika ślubnego w formie elektronicznych e-book’ów. W planach są kolejne. Ale wracając do tematu.

Wybrałem phpBB z tego względu, że jest popularne, ma całkiem spore community i przedewszystkim jest darmowe a przy okazji działa. Może ten ostatni argument nie wszystkich przekonuje ale dla mnie jest to wystarczające. Najważniejsze jest to, że cały czas skrypt jest rozwijany i powstają kolejne poprawki. Instalacja polega głównie na przekopiowaniu plików ustawieniu uprawnień i kliknięci kilka razy dalej, dalej…Dorobiłem się własnego templata który można podziwiać na stronie, który w dalszym ciągu staram sie ulepszać i poprawiać.

Jeżeli chodzi o konfigurację to hmm…początkowo trochę wg. mnie panel administracyjny (PA) jest nie intuicyjny, może dlatego, że przyzwyczajony jestem do inego układu i z drugiej strony nigdy wcześniej nie miałem przyjemności administrowania forem internetowym. Ale po kilku godzinach konfiguracji dochodzi się do wprawy.

Ostatnio od użytkowników zaczęły dobiegać do mnie dziwne komunikaty, że co jakiś czas forum “się zawiesza” i po odświeżeniu wszystko jest ok. Zacząłem googlać i wygooglałem, że problem tkwi w za wysokich zabezpieczeniach. Forum posiada natywnie kilka zabezpieczeń typu sprawdzanie IP sesji użytkownika, adresy MX serwerów poczty. U mnie po wyłączeniu sprawdzania adresów IP i DNS na blacklistach problem znikł…Obecnie walczę z zapisywaniem długich postów w których jest dużo znaczników typu BBcode. Forum w dziwny sposób każdego posta parsuje i znaczniki zapisuje w bazie cacheujac je jako znaczniki z id. Podobno to przyśpiesza jego działanie. Jak patrzyłem na procesy bazy danych w trakcie nie udanych zapisów to podejżewam, że problem może tkwić w killowaniu procesów po 60 sekundach. cóż wracam do walki. Chyba, że ktoś z Was spotkał się z takim błędem:

Błąd ogólny
SQL ERROR [ mysqli ]

MySQL server has gone away [2006]

SQL

SELECT bbcode_id, bbcode_tag, bbcode_helpline FROM phpbb_bbcodes
WHERE display_on_posting = 1 ORDER BY bbcode_tag

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions_display.php
LINE: 858
CALL: dbal_mysqli->sql_query()

FILE: posting.php
LINE: 1335
CALL: display_custom_bbcodes()

GoldenLine…

Jakoś nigdy nie sądziłem, że będę wpisywał swoje informacje w serwisy społecznościowe typu GoldenLine. Wczoraj widząc, że kilku znajomych co nie ma profilu na popularnej naszej-klasie ma właśnie na “bardziej poważnych” serwisach swoje profile. Postanowiłem mieć i ja, chociażby dlatego, żeby mieć zawsze kontakt do nich. Także znajdziecie mnie tam pod adresem: http://www.goldenline.pl/radoslaw-zagorski

Odświeżanie strony ze skryptem PHP

Z dzisiejszego dnie wyniosłem conieco nauki a może bardziej wiedzt nt. odświeżania a idż do w przeglądarkach. A dokładniej dziś nadszedł dzień kiedy w pracy trzebabyło odpalić skrypty zamieniające pliki .csv na dane do bazy Oracle’a. Na maszynach developerskich jak zwykle wszystko zapuszczaliśmy pod FF :) Dlaczego? Przedewszystkim wygodniej i możnabyło obserwować czasy w firebug’u. Na produkcyjnym kiedy praca idzie na komputerze klienta na dodatek zdalnie gdzie nie ma FF trzeba było użyć IE. Żaden problem wkońcu przeglądarki nie interpretują kodu tylko robi to Apache. Pierwszy start skryptu..nie działa..szybko do kodu mały błąd w danych serwera. Enter i kolejna próba…coś się zrobiło ale zrobiło się źle..znów zaglądamy do źródeł heh niepotrzebnie jedna funkcja wyremowana ;) znów enter i to samo…drapiemy się po głowach, sprawdzamy konfiguracje, jeszcze raz dokładnie sprawdzamy czy w pliku wszystko ok…i pomysł może odświeżmy stronę…działa! Refleksja: Jak pod IE wciska się enter na pasku adresu to najwidoczniej bierze stronę a cache’u wciśnięcie F5 lub poprostu ikonki odśwież powoduje odświeżenie zawartości offline i zrobienie prawdziwego przeładowania :) Dla FF jest to obojętne :)

strcmp()…czyli jak łatwo stracić sporo czasu?

Dziś kończąc pewną część większego zadania straciłem jakąś godzinę czasu przez własną niewiedzą znajomością PHP. Ale od początku. Zaczynając przygodę z tym językiem nauczyłem się zawsze sprawdzać liczby czy napewno są liczbami więc var_dump() nie jest mi obce wtedy łatwo określić z czym tak naprawdę mamy doczynienia i czy ta zmienna która chcemy operować tak naprawdę istnieje :) Robiąc różne if’y, switch’e na liczbach które mają różne śródła pamiętałem żeby dodać (int) przed zmienną lub poprostu $zmienna*1 co działa tak samo i powoduje zamianę np. string’a ‘123′ w integer 123 :) niby takie nic a jednak :P

Dziś przyszło zrobić prostą funkcję a nawet i nie funkcję tylko prosty warunek który jednego stringa porównuje do drugiego. Dość szybko się dowiedziałem, że do tego służy funkcja strcmp(). Więc szybko naniosłem zmiany w kodzie i dalej coś nie tak ;/ WTF?!? Kolejnym krokiem było przeczytanie dokładniej dokumentacji która mówi o tym że zwracane jest 0 lub liczba większa, mniejsza 0 aha!…i tu dochodzimy powoli do sedna!

var_dump($zmienna);

var_dump(zmiena);

w wyniku otrzymałem string(9) i string(7) czyli niby te same stingi ale jednak inne (: Kilka zapytań do wujka google i mamy odpowiedż! Whitespaces czyli takie niewidoczne znaczki które wkurzają. więc w $zmiennej a dokładniej zrobiłem tak:

strcmp(trim($zmienna), zmienna);

Na szczęście wszystki znaki były małe obeszło się bez porównywania “dużych napisów”.

Jaki jest morał? Zawsze ale to zawsze przed porównaniem jakichkolwiek danych trzeba sprawdzić co to tak naprawdę jest!

Pain is temporary, glory is forever…