Witam, Po którymś zapisie strony coś stało się ze skryptami/bazą. Jeśli tylko zapiszę stronę to wszystkie adresy zawierające polskie znaki przestają działać. Plik Links i links_ids z poprawnego: a:457:{s:44:"akredytowane-laboratorium-wzorcujące-ap-162";a:2:{i:0;i:1;i:1;s:2:"pl";}s:22:"akredytacja-pca-ap-162";a:2:{i:0;i:10;i:1;s:2:"pl";}s:41:"wzorcowanie-płytek-wzorcowych-długości";a:2:{i:0;i:13;i:1;s:2:"pl";}s:54:"wzorcowanie-mikrometrów-zewnętrznych-i-wewnętrznych";a:2:{i:0;i:14;i:1;s:2:"pl";}s:58:"wzorcowanie-wałeczków-pomiarowych-do-gwintów-i-otworów";a:2:{i:0;i:15;i:1;s:2:"pl";}
zaczyna wyglądać tak: a:457:{s:44:"akredytowane-laboratorium-wzorcujä…ce-ap-162";a:2:{i:0;i:1;i:1;s:2:"pl";}s:22:"akredytacja-pca-ap-162";a:2:{i:0;i:10;i:1;s:2:"pl";}s:41:"wzorcowanie-pĺ‚ytek-wzorcowych-dĺ‚ugoĺ›ci";a:2:{i:0;i:13;i:1;s:2:"pl";}s:54:"wzorcowanie-mikrometrăłw-zewnä™trznych-i-wewnä™trznych";a:2:{i:0;i:14;i:1;s:2:"pl";}s:58:"wzorcowanie-waĺ‚eczkăłw-pomiarowych-do-gwintăłw-i-otworăłw";a:2:{i:0;i:15;i:1;s:2:"pl";}?
Czy może ktoś ma pomysł co się mogło stać i jak to naprawić - niestety nie wchodzi w grę przywrócenie strony.
Dodatkowo po sprawdzeniu okazało się że błędne pliki links i links_ids są w kodowaniu windows-1250 a prawidłowe w UTF-8. Tylko że są to pliki generowane przez skrypt z bazy danych - co mogło się stać że zmieniło się ich kodowanie? Jak można to naprawić?
Aktualnie strona działa bo posiłkuję się plikami links i links_ids z backupu. Tak więc na stronie wszystko wygląda normalnie ale ja nic nie mogę zmodyfikować. Wykonanie zapisu jakiejkolwiek strony powoduje ponowne błędne wygenerowanie tych plików (nie w tej stronie kodowej) i wszystkie linki z polskimi znakami zamiast wyglądać tak: https://kumlab.eu/sprzedaż-przyrządów-pomiarowych-ze-świadectwem-wzorcowania-pca (po skopiowaniu tutaj: https://kumlab.eu/sprzeda%C5%BC-przyrz%C4%85d%C3%B3w-pomiarowych-ze-%C5%9Bwiadectwem-wzorcowania-pca)
1. Zostań na php7.2 (nie php8) i wszelkie testy rób na tej wersji 2. Masz starą wersję systemy CMS czyli v6.1. Dodatkowo masz wersję bezpłatną czyli tak naprawdę testową. 3. Nie działa u Ciebie korekta polskich znaków w linkach a powinna działać. Chodzi o zamianę w linku np. kość na kosc. U Ciebie takie zmiany brak. Przypuszczalnie robiłeś jakieś własne zmiany. Pliki php zapisuj jako UTF-8 (bez BOM). Polecam bezpłatny program Notepad++ 4. Użyj czysty stary cms lub pobierz najnowszy cms v6.7 i przetestuj go pod jakimś adresem testowym np. kumlab.eu/test1/
1. Ok tak zrobię 2. Tak wiem - tylko jak na razie wszystko działało a wywaliło się prawdopodobnie przy zwykłym zapisie 3. Korekta polskich znaków jest wyłączona i skrypt był modyfikowany kilka lat temu po to by w darmowej wersji mieć przyjazne linki i polskie znaki - wszystko od tamtego czasu działało i nie robiłem żadnych modyfikacji w kodzie - po prostu strona przy zapisie się wywaliła. Wszystkie pliki są UTF-8. Problemem jest to że nie wiem czemu pliki generowane przez skrypt strony - links i links_ids zamiast w UTF-8 nagle generują się w windows-1250 i to tutaj jest problem (te co mam z backupu wygenerowane były się w UTF-8). 4. Niestety nie mam dostępu do czystego starego 6.1 (nie ma go już na stronie) by sprawdzić czy to nowe PHP nie działa ze starym skryptem - czy to możliwe że jakieś nowe funkcje w php nie współpracują ze starym kodem? W międzyczasie cyberfolks miał migrację serwerów, ale nie mam pewności czy to z tego powodu się coś zmieniło - w tamtym czasie nic nie modyfikowałem na stronie. Także od dwóch lat nic w kodzie nie było zmieniane (tylko zwykłe dodawanie treści do strony) i nagle przestało działać. Dlatego napisałem na forum bo już nie mam pojęcia co mogło się stać.
Nowa wersja bez modyfikacji działa - tylko raczej chodzi mi o to co stało się nagle ze starą że bez zmian w kodzie przestała z dnia na dzień działać. Zależy mi na wykryciu błędu i naprawie w pierwszej kolejności. Bo raczej jest to dziwne że tylko dodając treść do strony przy którymś zapisie strona przestaje działać. Widziałem też inny wpis w tej sprawie z zapytaniem, więc nie jest to odosobniony przypadek niestety. Czyli jednak coś w samym skrypcie w jakiś specyficznych warunkach powoduje ten błąd.
Napisałeś "co stało się nagle ze starą że bez zmian w kodzie przestała z dnia na dzień działać". Tu nic nagle się nie dzieje :)
Załóżmy że wgrywałeś pliki w trybie binarnym. Załóżmy że prawidłowo zapisywałeś pliki z własnymi modyfikacjami. (Nie windowsowy Notatnik ale np. Notepad++ z opcją zapisu " UTF8 bez BOM") Krótko mówiąc załóżmy, że to nie Twoja wina :)
Wspomniałeś "W międzyczasie cyberfolks miał migrację serwerów" Może wprowadzili w oprogramowaniu serwera jakieś odgórne narzucanie kodowania 1250? Zapytaj ich ale raczej bym pomyślał o wersji CMS v6.7 i to nie darmowa/testowa ale Quick.CMS.EXT+ v6.7
Na Twoim serwerze działa najnowsza wersja CMS v6.7 a stara v6.1 nie? Na moich serwerach działają obie wersje ale to nie znaczy że cyberfolks ma błąd w oprogramowanie serwera.
Zawsze w takich sytuacjach zadaję moje 3 ulubione pytania. Bez żadnych złośliwości. Co ile lat zmieniasz smartfona i dlaczego? Co 2-3 lata? Ile lat temu zmieniałeś oprogramowanie swojej strony?
P.S. Teraz Twoja strona działa.(wiem że bez możliwości kolejnych zmian). Pilnuj tej kopii jak ognia bo później może być problem z przywróceniem właściwego kodowania.
No właśnie w tym problem że w pewnym sensie samo się zadziało. Tzn. przez pewien czas nie dorzucałem żadnej treści i nie modyfikowałem istniejącej, w pewnym momencie chciałem zmienić jakąś treść na stronie i po zmianie tej treści strona się wywaliła (czyli po zwykłej opcji zapisu). Pewnie masz rację z migracją strony do nowszej wersji - ale by mieć komfort takich działań potrzebuję jednak uruchomić starą wersję. Bo są zmiany cenowe w ofercie nie cierpiące zwłoki. Stąd moje pytania i próba zdiagnozowania problemu. Teraz zaczynam się zastanawiać czy funkcja serialize może w jakiś sposób źle generować te pliki lub jest niewspierana przez nowsze PHP? Bo tak na prawdę wszystko działa oprócz generowania tych plików.
Serializacja działa na wszystkich wersjach php od 4 do 8. Powodem są raczej Twoje zmiany które wprowadziłeś lub nietypowa konfiguracja serwera. Zapraszam do kontaktu lub na stronę https://opensolution.org/partnerzy-opensolution.html
Ok - raczej obstawiałbym serwer (bo w zmiany w skrypcie były robione dobre 3 lata przed awarią) - chociaż z hostingiem też rozmawiałem i według nich wszystko jest dobrze :) Czy można liczyć z Pana strony na jakąś odpłatną pomoc?
Zapraszam. https://www.studiostrona.pl/ Może być bezpłatnie bo czasami takie rzeczy traktuję jako "poligon doświadczalny" lub drogo :) Wszystko zależy od tego co tam zobaczę na serwerze.