A kiedy pobrałeś paczkę?
Pierwsza była lekko uszkodzona i zawierała drobne błędy.
Spróbuj pobrać ponownie i sprawdź.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
Forum projektu eStats » Posty przez Emdek
A kiedy pobrałeś paczkę?
Pierwsza była lekko uszkodzona i zawierała drobne błędy.
Spróbuj pobrać ponownie i sprawdź.
A to już bardzo dziwne, bo wymusiłem dla testu użycie starego rozszerzenia, na którym występował błąd i wszystko działało poprawnie.
Sprawdź czy poniższy fragment kodu występuje w pliku lib/db/MySQL/common.php, od linii 13. (dokładnie w tej samej formie):
[code]function connect ($Test, $DBPrefix, $PConnect, $DBHost, $DBUser, $DBPass, $DBName) {
if (!defined ('MySQLi')) {
if (function_exists ('mysqli_query')) define ('MySQLi', 1);
else if (function_exists ('mysql_query')) define ('MySQLi', 0);
else {
if (!$Test) e_error_message ('This module does not supported on this server!', __FILE__, __LINE__, 1);
return (0);
}
}
$Version = '?';
$this->Prefix = $DBPrefix;
if (defined ('MySQLi')) {
if (MySQLi) {
if ($this->Link = mysqli_connect ($DBHost, $DBUser, $DBPass, $DBName)) $Version = mysqli_get_server_info ($this->Link);
else return (0);
}
else {
$ConnectionType = 'mysql_'.($PConnect?'p':'').'connect';
if ($this->Link = $ConnectionType ($DBHost, $DBUser, $DBPass)) {
$Version = mysql_get_server_info ();
if (!mysql_select_db ($DBName)) return (0);
}
}
}
$GLOBALS['DBInfo']['DBVersion'] = $Version;
r
Mówisz - masz ;-).
http://emdek.cba.pl/testy/tmp/estats-4.5.21.tar.bz2
Problem powinna usunąć najnowsza poprawka:
http://estats.emdek.cba.pl/forum/viewtopic.php?id=120
Napisałem o tym w tym poście:
http://estats.emdek.cba.pl/forum/viewto … d=375#p375
Wbrew pozorom, to najwięcej problemów mieli by wtedy użytkownicy.
Poza tym, spowalnia to rozwój skryptu, gdyż utrzymując starszą linię wypada ją poprawiać i aktualizować, co wymaga czasu (którego nie mam wiele...). A raczej wątpię żeby znalazł się ktoś chętny do opieki nad starszymi wersjami, szczególnie, że według zasad nie wolno wprowadzać w nich niekompatybilnych zmian (chyba, że jest to niezbędna, krytyczna poprawka).
Od razu piszę jednak, że prawie na pewno wystąpi wyjątek od reguły dla wersji 5.0 i 4.9, gdyż pierwsza z nich przestanie być kompatybilna z PHP4.
Jeśli jednak bardzo chcesz, to mogę udostępnić "nieoficjalnie" ostatnią paczkę z serii 4.5 w takiej formie jak powyżej.
Nie minęła pełna doba i doczekaliśmy się pierwszej wersji poprawkowej dla serii 4.9.
Wersja ta zawiera poprawkę dla modułu MySQL, dla wersji PHP bez rozszerzenia MySQLi (MySQL Improved).
Błąd został pominięty, gdyż żaden z testerów nie posiadał takiej konfiguracji. Wypływa tu na wierzch problem małej ilości testerów oraz niewielkiego sensu wydawania wersji RC (w której, a także w poprzednich wersjach z serii 4.9, występował), gdyż prawie nikt ich nie testuje (a wydawane są wyłącznie w tym celu). Apeluję więc do Was o poświęcenie tych kilku minut na testy, gdy wydawana jest wersja RC, wtedy uniknie się takich banalnych błędów jak ten poprawiony w tej wersji, a które wynikają z różnych konfiguracji serwerów :-).
Zmiany:
- poprawka w module MySQL (dla PHP bez MySQLi);
Pobieralnia:
Przyszedł czas na wydanie pierwszej wersji stabilnej serii 4.9 :-).
Zanim przejdę do opisu zmian wspomnę krótko o przyszłych planach, dla wersji 5.x.
Wydania z tej serii przyniosą podniesienie wymagań co do wersji PHP, porzucone zostanie wsparcie dla przestarzałego PHP 4 oraz dla wersji starszych niż PHP 5.2 (lub 5.1). Wykorzystane zostaną nowe możliwości, choćby PDO (bazy danych) oraz wiele innych (planowane jest szersze stosowanie obiektowości). W planach jest wprowadzenie obsługi wielu kont statystyk oraz użytkowników.
O ile czas pozwoli, to pierwsze wydania pojawią się w okolicach wakacji tego roku.
Ważniejsze zmiany względem wersji 4.5:
- korekta kodu aktywacyjnego;
- geolokalizacja;
- obsługa GD (wykresy i mapy);
- integracja modułów MySQL oraz MySQLi;
- nowy moduł Firebird;
- integracja Czasowych oraz Archiwum;
- obsługa powracających gości;
- a także bardzo dużo innych, istotnych zmian;
Zmiany względem wersji RC:
- aktualizacja niemieckiego tłumaczenia (Fuma);
- różne drobne zmiany i poprawki błędów;
Pobieralnia:
Niedawno miałem potrzebę zapisania kilku transmisji strumieniowych do plików, po kilku minutach googlania znalazłem komendę generującą "zrzut" strumienia do pliku. Plik jednak był w formacie ASF i dość pokaźnych rozmiarów (kilkaset MB dla 35 minut). Poszukałem więc informacji na temat konwersji do AVI.
Cała operacja przebiegła prawidłowo i otrzymałem plik AVI o wielkości 100 MB o tej samej jakości co wejściowy.
Później doszedłem do wniosku, że warto by napisać skrypt automatyzujący czynność i zapobiegający zapomnieniu komend ;-).
Oto efekt pracy, skrypt Basha (wymaga obecności zainstalowanych programów mencoder i mplayer):
#!/bin/bash
# Stream2AVI v0.1
# (c) 2008 Emdek
# http://emdek.cba.pl
# Licence: GPL
if [ "$1" = "" -o "$2" = "" ]
then
echo "Podaj nazwe pliku docelowego (.avi) i adres strumienia!"
else
if [ -e "$1" ]
then
echo "Plik docelowy juz istnieje!"
else
mplayer -dumpstream $2 &> /dev/null
if [ $? = 0 ]
then
echo "Strumien pobrany pomyslnie."
mencoder stream.dump -ofps 23.976 -ovc lavc -oac copy -o $1 &> /dev/null
if [ $? = 0 ]
then
echo "Plik przekonwertowany pomyslnie."
rm stream.dump
else
echo "Konwersja do AVI nieudana!"
fi
else
echo "Pobieranie nieudane! Sprawdz poprawnosc adresu pliku."
fi
fi
fi
Wywołuje się go z parametrami będącymi nazwą pliku wyjściowego i adres strumienia, np.:
stream2avi.sh test.avi mms:/stream.com
Może komuś się przyda ;-).
Oddaję do Waszych rąk wersję RC eStats 4.9 :-).
Od teraz nie są planowane żadne zmiany poza poprawkami błędów oraz "koniecznymi" zmianami (powinna zostać zachowana kompatybilność danych, w przeciwieństwie do bety).
Wydanie wersji stabilnej planowane jest na 1. marca tego roku.
Wydanie to nie jest przeznaczone do normalnego użytku, może być niestabilne, ma służyć jedynie testom serii 4.9.
Proszę o szczególne zwrócenie uwagi na testy instalatora - aktualizacji danych z poprzednich wersji.
Główne zmiany:
- nowe metody API modułów baz;
- zapisywanie logu tekstowego w czytelniejszym formacie;
- dodanie prostego kanału informacyjnego w formacie Atom z podsumowaniami zebranych danych;
- usunięcie konfiguracji motywów z Zaawansowanych;
- przeprowadzanie operacji czyszczenia cache i obsługi Szczegółowych i Szczegółów wizyt raz na dobę;
- nowy format stałych z przedrostkiem ESTATS_;
- nowe formatowanie znacznika czasu dla modułu SQLite;
- przebudowa instalatora (w oparciu o wspólny format kopii zapasowych);
- kilka innych zmian i poprawek;
Pobieralnia:
ZIP: 743.6 KB.
TAR.BZ2: 444.6 KB.
Dostępny jest do wglądu panel panel, hasło: mypass (oczywiście wykonywanie wielu akcji zostało wyłączone ze względów bezpieczeństwa).
Jeśli znajdziesz jakieś błędy w tym wydaniu, to proszę o ich zgłaszanie w dziale przeznaczonym do dyskusji o wersjach testowych.
Stopień zaawansowania prac pozwalają realnie myśleć o wydaniu ostatniej wersji testowej, czyli już RC :-). "Testy wewnętrzne" modułów baz, w tym także zbierania danych (wliczając w to użycie JS, także wyłącznego), a także samego interfejsu. Termin wydania oscyluje między 10, a 17 lutego.
Wersja ta nie będzie kompatybilna z betą ze względu na kolejne porządki nazewnictwa, tym razem także znaczące zmiany w tabelach (przede wszystkim zmiany w nazwach i typach kolumn). Będzie natomiast zawierać już przygotowywany właśnie system aktualizacji z poprzedniej serii. Po wydaniu nie są planowane już żadne niekompatybilne zmiany w "API" i strukturze baz (aż do czasu serii 5.0), chyba, że będzie to wymuszone lub "ekstremalnie" ważne ;-).Wersja ta oczywiście nie będzie jeszcze przeznaczona do normalnego użytku, jednakże bardzo przydałyby się możliwie intensywne testy (np. z użyciem kopii zebranych danych).
Z brakujących rzeczy można wyróżnić planowaną korektę angielskiej wersji (może poczekać), dokończenie i testy aktualizowania z poprzedniej wersji oraz ewentualne małe porządki w kodzie. Wtyczka weryfikująca instalację poczeka prawdopodobnie do kolejnej wersji, ewentualnie ukaże się przy okazji jednej z poprawkowych wersji (aby było ich jak najmniej ;-)).
Dziwne, właśnie dla tej wersji było to poprawiane, i nie wiem jak w 9.25, ale w 9.50 (testowa) nie występuje.
Może masz inne ustawienia czcionek, bo nie mogę w tej wersji powtórzyć tego błędu, który mógł występować (i zwykle występował) w poprzednich wydaniach 4.5.x.
Tak czy owak, dla tej serii nie będzie już raczej żadnych poprawek, bo za miesiąc przewidywana jest wersja stabilna z serii 4.9.
Wszystko się da uzyskać, tyle, że wymagałoby to modyfikacji struktury bazy danych (przynajmniej jednej tabeli) - co uniemożliwi wykonywanie normalnych aktualizacji - i dodatkowo kodu.
Pomijając to, że to pole będzie w 98% przypadków zawierać adres poprzednio odwiedzonej strony w obrębie serwisu (co utrudni znalezienie tych właściwych stron odsyłających), to już niedługo wyjdzie kolejna wersja statystyk i kod wymagałby ponownej modyfikacji...
Chociaż oczywiście jest to może i nawet interesująca możliwość (przynajmniej dla niektórych) ;-).
Udostępniona została wersja beta serii 4.9 :-).
Wersja ta przynosi głównie poprawki względem wersji alfa, ale także kilka nowości, o których można poczytać poniżej.
Na chwilę obecną nie jest jeszcze dostępna do wglądu przykładowa instalacja skryptu, powinna pojawić się za tydzień.
Przypominam, że moduł geolokalizacji jest aktywny tylko, gdy dostępne jest na serwerze rozszerzenie PHP geoip z prawidłowo zainstalowanym plikiem danych lub została umieszczona baza danych wygenerowana z użyciem dołączonego skryptu w Pythonie.
Wydanie wersji RC spodziewane jest na początku lutego bieżącego roku.
Wydanie to nie jest przeznaczone do normalnego użytku, nie zawiera ostatecznej funkcjonalności, może być niestabilne i niekompatybilne z wersją ostateczną, ma służyć jedynie wstępnym testom oraz zapoznaniu się z nowościami serii 4.9.
Znane problemy:
- brak możliwości aktualizacji z poprzedniej wersji (pojawi się przy okazji RC);
- niestabilny moduł Firebird;
- nieprzetestowane moduły baz, poza SQLite;
- duże prawdopodobieństwo występowania braków tłumaczenia (nieukończony alternatywny system dla gettext).
Główne zmiany:
- nowy moduł Firebird (eksperymentalny);
- użycie systemu gettext do obsługi tłumaczeń;
- użycie mechanizmu locale;
- dodatkowa stała eMINISTATS, ułatwiająca wygenerowanie mini podsumowania;
- dodane wykrywanie Midori, iPhone i iPodów;
- zwalnianie nieużywanej pamięci po zapytaniach SQL;
- ulepszone kopie zapasowe w formacie SQL;
- weryfikowanie poprawności instalacji;
- zapamiętywanie wybranej daty w cookies (nie dotyczy Czasowych);
- ustawianie obecnego roku dla wyświetlanych danych (innych niż Czasowe) tylko jeśli jest już przynajmniej kwiecień;
- Szczegółowe:
+ opcja archiwizowania wizyt, bez zapamiętywania Szczegółów wizyty;
+ możliwość wyłączenia zbierania danych o Szczegółach wizyty;
- Geolokalizacja:
+ możliwość użycia alternatywnej bazy danych w formacie SQLite;
+ skrypt w Pythonie do generowania alternatywnej bazy danych geoip;
- Czasowe:
+ poprawione wybieranie dat;
+ dodatkowe informacje w dymkach (daty, informacje o maksimum i minimum, liczba odwiedzin przeglądającego gościa);
+ dodane linki w nagłówkach do widoku pojedynczego wykresu;
- wiele innych drobnych zmian i poprawek;
Pobieralnia:
ZIP: 640.66 KB.
TAR.BZ2: 421.31 KB.
Jeśli znajdziesz jakieś błędy w tym wydaniu, to proszę o ich zgłaszanie w dziale przeznaczonym do dyskusji o wersjach testowych.
Trudno mi powiedzieć gdzie dokładnie leży przyczyna tego dziwnego zjawiska, bo spotkałem się z nim niedawno dla innej zmiennej...
Najdziwniejsze jest to, że nadpisywana jest w trakcie wykonywania skryptu, co nie ma prawa mieć miejsca.
Poza tym, jakoś nigdzie nie znalazłem informacji, że te zmienne są zarezerwowane (co byłoby zwyczajnie głupotą, gdyż ich nazwy same się narzucają do użycia w danym celu).
Możesz spróbować użyć innego "gotowego" zestawu, ale nie ma gwarancji, że nawet przy oddzielnej instalacji komponentów nie będzie dalej występować.
Mam nadzieję, że są to tylko przejściowe błędy oprogramowania, a nie nowa funkcjonalność, która powinna uszczęśliwiać użytkowników...
Wygląda to na śmiecenie zmiennymi przez serwer lub samo PHP i może być problem z ominięciem tego bez zmiany nazwy zmiennej, ale jest to problematyczne i raczej bezcelowe, bo nigdy nie wiadomo do jakiej zostaną wrzucone śmieci ;-)...
Możesz spróbować ponownie nadpisać gdzieś na początku kodu (po wywołaniach e_configuration) z użyciem prawidłowych wartości, ale nie ma gwarancji sukcesu, gdyż przyczyna leży poza kodem statystyk.
Forum projektu eStats » Posty przez Emdek