PDA

Zobacz pełną wersję : 3.10.11 na 4.2.6 - 6 godzin walki i przegrana



plseba
20-01-2023, 00:53
Mam Joomla 3.10.11 i od 6 godzin próbuję ją zaktualizować do Joomla 4.2.6. Próbowałem już wszystkiego co przychodzi mi do głowy.
Wywaliłem wszystkie dodatki który były zaznaczone przed aktualizacją poza SimplePie oraz PHPMailer bo ich się nie da usunąć oraz wyłączyć.

Gdy aktualizuję Joomlę poprzez Live lub wgranie pliku przez stronę to po rzekomej aktualizacji (dochodzi do 100%) za każdym razem i tak mam Joomlę 3. Gdy chcę potem wejść w ponowną aktualizację to pojawia się komunikat:
"Call to undefined method Joomla\CMS\Document\HtmlDocument::getWebAssetManag er()
/administrator/components/com_joomlaupdate/layouts/joomla/toolbar/containeropen.php:17"

Innym razem gdy przez FTP wgrywam pliki z aktualizacji
"This package is for performing updates from Joomla! 3.10 and previous 4.x releases to 4.2.6."
na serwer i rozpakowywuję je przez serwer to wtedy strona oraz zaplecze nie nadają się do działania, tak jakby brakowało szablonu Atom do zaplecza.
Zdjęcia daję poniżej. Proszę o pomoc w czym jest problem bo już nie mam siły na dalszą walkę.

siristru
20-01-2023, 01:03
To jakby się ta aktualizacja robiła tylko częściowo i system plików zostaje uszkodzony.
Na jakim hostingu masz stronę?
Jaka wersja PHP?

Jak coś to możesz pisać na PW, coś poradzimy.

plseba
20-01-2023, 01:08
Na home.pl. Nawet testowo zainstalowałem czystą wersję 4 i działa dobrze.
Wersja php 8.2

siristru
20-01-2023, 16:47
Dobra, spróbuj tak:

1. Zaktualizuj do najnowszej wersji Joomla 4.
2. Pobierz instalkę dla najnowszej Joomli 4
3. Wypakuj sobie na dysku
4. Usuń katalog "installation"
5. Wgraj wszystkie pozostałe pliki i katalogi do systemu plików Joomli, która aktualizowałeś w pkt. 1
6. Zaloguj się do zaplecza i zobacz czy działa.
7. Przejdź do Rozszerzenia -> Zarządzaj -> Baza danych i zobacz czy masz jakieś błędy. Kliknij Napraw jeśli tak.

plseba
22-01-2023, 02:05
Niestety nic nie pomogło, ale dzięki temu wiem, że problem leży w bazie danych.
Zainstalowałem czystą Joomlę 3, i bez problemu się zaktualizowała.
Potem jeszcze raz zainstalowałem czystą Joomlę 3. Skasowałem wszystkie pliki z problematycznej strony poza configuracją i htacess. Skopiowałem pliki z czystej joomli i wciąż ten sam błąd. Muszę sprawdzić gdzie jest błąd w bazie danych.

siristru
22-01-2023, 15:06
Dobra tylko komunikat:

"Call to undefined method Joomla\CMS\Document\HtmlDocument::getWebAssetManag er()
/administrator/components/com_joomlaupdate/layouts/joomla/toolbar/containeropen.php:17"

Nie jest związany z bazą danych. Mówi on o niezidentyfikowanej metodzie getWebAssetManager().
To znaczy, ze metoda została wywołana ale jej deklaracja nie została odnaleziona.
Problemy z bazą danych objawiały by się innymi błędami.
Tutaj raczej ewidentnie jest coś w plikach.
Obniż też wersję PHP do 8.0.

plseba
23-01-2023, 23:52
Próbowałem na innych wersjach php. Nie mam pojęcia co jest przyczyną, ślad idzie już tylko do pliku configuration.php. W starej stronie ma on aż 103 linijki, w świeżej Joomli 3 tylko 65, ale to też później podmieniałem.

Zrobiłem kolejne testy:
1. Założyłem nową Joomlę 3 - "STRONA 2". Skasowałem w niej w phpadmin wszystkie tabele w bazie danych.
2. Zapisałem w pliku z uszkodzonej strony STRONA 1 (ta która się nie chce zaktualizować) wszystkie tabele z bazy danych w phpadmin.
3. Skopiowane tabele z uszkodzonej STRONA 1 zaimportowałem do bazy danych STRONA 2.
4. Zaktualizowałem STRONA 2 do Joomla 4. Po tej akcji wszystko działa poprawnie. Mam całą treść z uszkodzonej strony. Póki co nie zauważyłem żadnych błędów.

Dziwne, bo wszystkie pliki poza configuration.php zostały skasowane w uszkodzonej STRONA 1 i zamienione te które miała czysta instalacja STRONA 2 a mimo to nie chce się zaktualizować.
Wcześniej też wgrałem do uszkodzonej strony plik configuration.php ze świeżej instalacji Joomla 3, zamieniając wiersze:
public $user
public $db
public $log_path
public $tmp_path
public $secret
Zaplecze otwierało się normalnie a mimo to strona nie chciała się zaktualizować. Zastanawia mnie pozycja "public $secret" czy ona może mieć coś z tym wspólnego. Bo jak spojrzałem w starsze kopie zapasowe to miała ona inną wartość.

siristru
24-01-2023, 11:18
4. Zaktualizowałem STRONA 2 do Joomla 4. Po tej akcji wszystko działa poprawnie. Mam całą treść z uszkodzonej strony. Póki co nie zauważyłem żadnych błędów.

Czyli udało się ostatecznie? Z opisu wynika, że struktura plików mogła być uszkodzona jeszzce w wersji 3, dlatego nie wszystkie pliki zostały podmienione i pojawiał się błąd.

plseba
25-01-2023, 00:59
Dziękuję za pomoc.


Problem już został rozwiązany a przyczyną była włączona opcja w przekierowaniu domeny.
W ustawieniach domeny na home.pl do wyboru jest:
Podkatalog z separacją serwisu - to powodowało błąd
Podkatalog bez separacji serwisu - tutaj nie ma błędu


20 godzin prób i walk z powodu tak błachego ustawienia.
Problem został odktyry gdy wszystko działało prawidłowo na stronach testowych wchodzonych przez link serwer....home.pl/katalog/
Gdy potem z ciekawości wszedłem na problematyczną stronę nie poprzez www nazwadomeny pl a również przez serwer....home.pl/katalog/ to problem z aktualizacją zniknął.


Tak czy siak, wielkie dzięki pomaganie :)

siristru
25-01-2023, 10:55
Łobosz :hmm:

Frodoo
25-01-2023, 12:18
Ciekawe po co ta opcja jest na home skoro nie spełnia swojego zadania. Kiedyś odpaliłem wirusa, którego ktoś wrzucił na stronę klienta. Mogłem przechodzić nie tyle po katalogach wewnątrz katalogu public_html, ale mogłem przejść nawet o katalog wyżej i grzebać w plikach domeny wyżej. Na szczęście jest coś takiego jak konto hostingowe reselerskie. Mam takie konto. Między kontami już się nie da grzebać w plikach.

plseba
26-01-2023, 00:34
No właśnie ja kiedyś złapałem virusa na jedną stronę i on przelazł na pozostałe. Od tamtej pory dałem separację serwisu celem bezpieczeństwa i o tym zapomniałem co przypłacone zostało wieloma straconymi godzinami.