Propozycje modyfikacji - [poprawka] tosiekFIX - Deprecated: Function is deprecated in
tosiek - 01-04-2011, 18:51 Temat postu: [poprawka] tosiekFIX - Deprecated: Function is deprecated in Większość poprawek jest już zawarta w wersji 1.12.7 ale nie wszystkie, skrypt można uruchomić bezpiecznie także na tej wersji.
Jako, że brak już aktualizacji do php 5.2 to czas się przesiadać na 5.3... I tutaj czekają nas problemy typu:
Kod: | Deprecated: Function ereg() is deprecated in \viewtopic.php on line 1906
Deprecated: Function eregi() is deprecated in .php on line
Deprecated: Function ereg_replace() is deprecated in .php on line |
Kod: | Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2,0/DST' instead in \includes\page_header.php on line 735 |
Kod: | Fatal error: Call to undefined function sql_cache() in \dbloader\dbloader.php on line 283 |
Kod: | Nieprawidłowa suma kontrolna pliku ./update.sql ! (c6495608b327c33c3e7e005cbf08b8ae)
Spróbuj jeszcze raz skopiować plik na serwer. |
Błędy gzip, spowodowane najczęściej wyświetleniem czegokolwiek przed nagłówkiem gzip lub też wysłanie nieskompresowanej treści pomimo wysłania nagłówka, że jest skompresowana
Kod: | Błąd kodowania zawartości
Otwierana strona nie może zostać wyświetlona, ponieważ używa nieprawidłowych lub nieobsługiwanych metod kompresji.
Należy poinformować właścicieli witryny o tym problemie. |
to także gzip, tyle że w przeglądarce Chrome:
Kod: | Strona internetowa jest niedostępna
Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error.
Błąd 330 (net::ERR_CONTENT_DECODING_FAILED): Nieznany błąd. |
I inne podobne, więc trzeba trupa phpbb by przemo zreanimować, więc funkcje oznaczone jako deprecated trzeba zamienić na ich przyszłościowe odpowiedniki i dokonać innych poprawek. W tym celu napisałem prosty skrypt, który dokonuje automatycznie tych poprawek. Jak na razie wszystko działa
Lista funkcji i poprawek:
- Zmiana kodowania we wzorcach z tabelami (czyli wszystko co jest ładowane do bazy danych przy instalacji nowego forum) na latin2
- Wymuszenie kodowania latin2 przy połączeniu z bazą danych (zalecane tylko dla nowych forów) - skrypt przed zastosowaniem tej zmiany zapyta czy ją wykonać.
Jeżeli nie wiesz co to latin2 kliknij NIE!
- Ustawia domyślną strefę czasową na Europe/Warsaw - date_default_timezone_set()
- Zamienia wszystkie stare funkcje GZIP w różnych plikach na jedną w common.php
(można wyłączyć zmieniając w common.php
Kod: | $do_gzip_compress = true; |
na
Kod: | $do_gzip_compress = false; | - poprzednie funkcje były zbyt późno wywoływane i jeśli coś się wyświetliło przed gzipem - nagłówkiem, to był błąd kodowania zawartości (np jeśli wyświetlił się jakiś błąd lub powiadomienie)
skrypt zawiera poprawkę gzip z tego postu:
www.przemo.org/phpBB2/forum/viewtopic.php?t=81482
- Zamienia wszystkie split na explode (na razie preg_split nie było nigdzie potrzebne)
- Zamienia mysql_escape_string na mysql_real_escape_string
- Zamienia set_magic_quotes_runtime na ini_set
- Zamienia wszystkie eregi, ereg, ereg_replace na preg_match, preg_replace, strstr lub stristr zależnie od potrzeb
- Poprawka z myleniem nazwy załącznika z datą (przy korzystaniu z załączników na FTP)
- Poprawka dbloadera - dodanie index.php oraz naprawa sql_cache()
- poprawia błędną sumę kontrolną w /scripts/update.php
- Naprawia całkowite ucinanie postów w podglądzie wydruku - teraz widać wszystko poza tagami (czyli resztę postu) [ mod ] i [ hide ] , jeśli masz uprawnienia to widzisz [ mod ]
Zamienione zostały wszystkie funkcje: http://php.net/manual/en/....deprecated.php
Instrukcja
Wgraj plik tosiekreplace.php oraz folder /includes/ do głównego folderu forum i wejdź na adres: adresforum.pl/tosiekreplace.php
ważne!
Po pierwszym odpaleniu wszystko powinno być na pomarańczowo, jeśli coś jest na czerwono otwórz i sprawdź ten plik ręcznie.
Po drugim i kolejnym odpaleniu wszystko powinno być na zielono, jeśli coś jest na czerwono lub pomarańczowo otwórz i sprawdź ten plik ręcznie zostaniesz także przekierowany do pliku tosiekreplace.htm oraz nie będzie można podmieniać tym skryptem więcej razy w pliku tosiekreplace.htm będą wyświetlone ewentualne błędy.
----koniec----
Aktualizacja mikołajkowa 07.12.2012
-skrypt wywala autmatycznoie wszystkie zbędne sekcje kodu odpowiedzialne za GZIP zgodnie z instrukcją http://www.przemo.org/php...pic.php?t=81482
-drobne poprawki dla 1.12.7: wymuszenie gzip + wywalenie zbędnego kodu; wymuszneie latin2 przy instalacji nowego forum w schematach tabel
-dodanie opcji z pytaniem na początku czy wymusić kodowanie przy połączeniu z bazą - klikajcie NIE, ci co instalują nowe forum klikać w tak (kliknięciew w tak jest równoważne wykonaniu tej modyfikacji: https://przemo.org/phpBB2/forum/viewtopic.php?t=87399
-backup plików do folderu /bak/
Ktoś też powinien sprawdzić cały kod odpowiedzialny za załączniki i pliki bo chyba jest dziurawy - tak mi się przewinęło przy poprawkach - nie sprawdzało gdzieś rozszerzeń tylko czy nazwa rozszerzenia jest w nazwie pliku, coś w ten deseń, nie mogę znaleźć
tartut - 01-04-2011, 19:26
a będzie działać z wgranymi modyfikacjami?
PS: wydaje mi się że w 1.12.7 będą funkcje zmienione na te nowe
tosiek - 01-04-2011, 19:39
tartut napisał/a: | PS: wydaje mi się że w 1.12.7 będą funkcje zmienione na te nowe |
Może i będą ale zapewne zamienione z automatu a jak poprawiałem to trzeba poprawić ręcznie a wersji 1.12.7 nikt nigdy nie widział i zapewne nie zobaczy jeszcze długo...
tartut napisał/a: | a będzie działać z wgranymi modyfikacjami? |
Jak coś będzie nie tak to wyświetli się, że nie zamieniono i trzeba będzie ręcznie poprawić lub jeśli co odświeżenie będzie zamieniać (pomarańczowy kolor) to też trzeba ręcznie ale powinno działać.
Bucu - 01-04-2011, 19:43
Cytat: | a wersji 1.12.7 nikt nigdy nie widział i zapewne nie zobaczy jeszcze długo... |
Nie gadaj jak nie masz aktualnych informacji.
tosiek - 01-04-2011, 19:46
Bucu, chcę ci przypomnieć że już dawno dawno temu miała być ta wersja ile to miało być, za dwa tygodnie?
Bucu - 01-04-2011, 19:50
Dobrze a informacje z kiedy masz? Z lui754 rozmawiales (bo on ta wersje przygotowywuje) ?
tosiek - 01-04-2011, 20:00
Cytat: | Dobrze a informacje z kiedy masz? |
sprzed paru miesięcy z ogłoszenia w panelu amdina
Bucu - 01-04-2011, 20:17
No to troche stare, bo akurat 1.12.7 ma blizej niz dalej do premiery
Anonymous - 01-04-2011, 20:23
Bucu napisał/a: | No to troche stare, bo akurat 1.12.7 ma blizej niz dalej do premiery |
Czyli luty-marzec 2012 możemy się go spodziewać
tosiek - 01-04-2011, 22:30
Bucu napisał/a: | Z lui754 rozmawiales (bo on ta wersje przygotowywuje) ? |
Jutro skończę i nie wiedzę problemu żeby z tego skorzystał.
Scoobany napisał/a: | Czyli luty-marzec 2012 możemy się go spodziewać |
nie bądź takim optymistą
lui754 - 02-04-2011, 09:05
Przyda się, tylko zrób to porządnie.
tosiek - 02-04-2011, 11:47
Lui napisał/a: | Przyda się, tylko zrób to porządnie. |
Jest porządnie, mam nadzieję że nigdzie się nie pomyliłem. Jaka chcesz możesz sobie wylistować wszystko z kolorowaniem składni i sprawdzić. Nawet poprawiłem błędnie interpretowana nazwę pliku przy połączeniu z ftp.
Byłbym wdzięczny jakby ktoś sprawdził po poprawieniu tym skryptem plików czy w plikach występują jeszcze jakieś funkcje zdeprecjonowane.
Kto testuje niech zmieni:
common.php
znajdz:
error_reporting (E_ERROR | E_WARNING | E_PARSE);
zamień na:
error_reporting (E_ERROR | E_WARNING | E_PARSE | E_DEPRECATED | E_USER_DEPRECATED);
Załącznik dodany.
kooza - 02-04-2011, 11:55
tosiek, wszystko działa bez zarzutów
http://web-trzeci.pl/forum/tosiekreplace.php
tosiek - 03-04-2011, 10:42
Dodałem idiotoodporne opcje tj. skrypt można wywołać 2 razy - za 1 razem podmienia, za 2 jeśli podmienia jeszcze raz lub są jakieś inne błędy to zapisuje wszystko do pliku .htm i przekierowuje na niego oraz nie pozwala wywoływać skryptu ani razu więcej (co blokuje dalsze psucie plików ale zapisuje też info co poszło nie tak oraz co jest OK)
Dodałem też fixa do check_files.php - tj plik który zamienia błędna zawartość na plik modyfikowany: /includes/mods_info/tosiekrpl.php
[ Dodano: 09-04-2011, 17:20 ]
Ok, przetestowałem na kilku forach z doinstalowanymi modyfikacjami, wydaje się że wszystko powinno działać każdemu
Joy17 - 13-06-2011, 23:55
Ponieważ administrator mojego hostingu nagle ustawił na serwerze PHP 5,3 jako domyślny, na forum wystąpił komunikat i nie ładował się styl:
Cytat: | Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2,0/DST' instead in \includes\page_header.php on line 735
http://img13.imageshack.u...beztytuu1qd.jpg |
Po zastosowaniu modyfikacji, zamiast strony głównej pojawiły się krzaczki:
http://www.palringo.com/d...7860528118.jpeg
Coś nie zagrało z common.php, bo po przywróceniu tego pliku, wszystko wróciło do normy. Chętnie bym dokończył instalację tych poprawek, ale póki co zmuszony jestem przeskoczyć na PHP 5,2
|
|
|