Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Pomoc przy instalacji oraz użytkowaniu phpBB 3.2.x. Forum nie służy do zgłaszania znalezionych błędów, innowacji lub problemów związanych ze stylami i rozszerzeniami.
wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 24 lipca 2017, 13:55

Przy tworzeniu kopii i jej przywracaniu coś poszło nie tak. Fora są widoczne z poziomu gości, ale z loginu admina nie. Gdzieś pogubiły się chyba uprawnienia forów.
_________
forgen.pl

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 25 lipca 2017, 15:34

Udało mi się postawić starą wersję forum (3.1.7) na localhost (php 5.6) i wgrać bazy danych. Forum zadziałało.
Przeczyściłem rozszerzenia, logi, cashe, itp. i zgodnie z instrukcjami na próbowałem postawić wersję 3.2.1.
Pojawił się komunikat Cannot parse node 'php'' i update umarł.
Co z tym zrobić?
_________
forgen.pl

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: vader » 25 lipca 2017, 18:53

Wziąłeś odpowiednie pliku, w sensie aktualizację z wersji 3.1.7 do 3.2.1? Czy odinstalowując rozszerzenie, usunąłeś również ich dane? Czy po usunięciu wszystkich rzeczy, forum działało poprawnie? Sprawdziłeś wszystko? Ja bym na Twoim miejscu zrobił:

1. Zrobić aktualizację 3.1.7 > 3.1.8+ (jeśli przejdzie aktualizacja, to wtedy mocno potestować forum. Czy nie ma jakichś śmieci etc.)
2. Dopiero robić aktualizację 3.1.11 > 3.2.1

PODSTAWA: Kopię plików / bazy danych co najmniej x2 (wtedy jak coś pójdzie nie tak, bardzo szybko można podmienić pliki/bazę (plik config.php) i zacząć od początku!). Weź pod uwagę, że jeśli coś pójdzie nie tak, to zły katalog/bazę usuwam i ponownie robię kopię, tak że na starcie mam schemat jak poniżej. Nazwy podglądowe.
katalog: forum połączony do bazy danych BD
katalog: forumkopia połączony do bazy danych BDkopia
PS. Wrzucaj zrzuty ekrany jako załączniki, to często powie więcej niż słowa ;)

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 25 lipca 2017, 19:11

Wziąłem zgodnie z zalecaniami phpbb.com pełną paczkę 3.2.1 i wgrałem z niej stosowne pliki.
Powtórzyłem aktualizację na czysto zainstalowanym 3.7.1 i update baz danych poszedł pomyślnie. Forum działa. Wychodzi na to, że updater nie lubi śmieci w tabelach bazy. Jeśli jakiś ext doda kolumnę do tabeli i jej nie wyczyści, mogą wystąpić problemy. Zbadam jeszcze jak takie działające forum załadować importem tabel z 3.7.1.

Ciekawa rzecz. Wgrane jak wyżej czyste 3.2.1 na czyste 3.7.1. przerzucone na serwer 1:1 zadziałało. Tzn. Widać wszystko i działa prawie wszystko, poza pisaniem posta, gdyż po napisaniu wywaliło białą stronę. Pojawił się też problem z Ajax - przy czyszczeniu bufora w ACP, w oknie gdzie normalnie pojawia się komunikat, że bufor został wyczyszczony, pojawił się również komunikat Cannot parse node 'php'.

Myślę, że na cała aktualizacja zakończy się porównaniem działających na localhost baz 3.2.1 i ręcznym modyfikowaniu baz z serwerowego 3.1.7 :(
Inaczej chyba tego nie da się zaktualizować.
_________
forgen.pl

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: vader » 25 lipca 2017, 19:46

Ponawiam pytanie, czy odinstalowując rozszerzenia usunąłeś również dane tych rozszerzeń?

W sensie: wyłącz rozszerzenie > usuń dane > usuń pliki z serwera. Jeśli nie, a masz oryginalną bazę danych to zrób to jeszcze raz.

Spróbuj zaktualizować do 3.1.8 albo od razu 3.1.11. Zobacz czy to zadziała.

Awatar użytkownika
Cristiano
Posty: 26
Rejestracja: 25 marca 2015, 16:43
Lokalizacja: Wrocław
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: Cristiano » 25 lipca 2017, 19:54

Dziwne błędy ci wyskakują, coś musi powodować syf bezpośrednio w bazie. Sprawdziłbym to o czym wspomina vader, coś musiało zostać pominięte. Może w przeszłości grzebałeś coś w bazie i stąd te problemy?

Zawsze możesz komuś zlecić aktualizację forum do najnowszej wersji. Nie wiem jak to wygląda cenowo, bo nie siedzę w temacie, ale miliony monet kosztować to nie będzie.

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 25 lipca 2017, 20:45

vader pisze:Ponawiam pytanie, czy odinstalowując rozszerzenia usunąłeś również dane tych rozszerzeń?
W sensie: wyłącz rozszerzenie > usuń dane > usuń pliki z serwera. Jeśli nie, a masz oryginalną bazę danych to zrób to jeszcze raz.
Spróbuj zaktualizować do 3.1.8 albo od razu 3.1.11. Zobacz czy to zadziała.
Tak właśnie czyściłem. Oprócz tego, wyczyściłem logi, bufor, cache, język na EN. Gdzieś jakis śmieć musiał jednak pozostać, bo jak mówię - na czystą 3.1.7 czysta 3.2.1 weszła bez problemu z updatem baz bez błędu.
_________
forgen.pl

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 26 lipca 2017, 18:21

Postawiłem sobie na localhost czyste 3.2.1.
Kolejno, tabela po tabeli, przenosiłem dane z 3.7.1. do 3.2.1. Nie wszystkie - tylko te najistotniejsze. Niektóre tabele (np. profile_fields_data) nie zgadzały się strukturą gdyż były modyfikowane poprzez ustawienia w PA. Usunąłem takie tabele w 3.2.1 i utworzyłem ze strukturą z 3.7.1.
Forum działa. Pogubiły się tylko uprawnienia grup w dostępie do forów, ale to jest do skorygowania ręcznie w PA.

Teraz próbuję postawić nowe 3.2.1 na serwerze, tą samą procedurą poprzenosić tabele i na końcu podmienić config.php by forum trafiło w starą ścieżkę url.
_________
forgen.pl

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: vader » 26 lipca 2017, 18:26

Walcz i napisz czy się udało. Na przyszłość polecam regularną aktualizację.

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 26 lipca 2017, 18:49

Nie jest tak różowo. forum na loclahoście da się przeglądać i po nim łazić, ale już napisanie posta wywala błąd:

Kod: Zaznacz cały

Fatal error: Uncaught exception 'RuntimeException' with message 'Cannot parse node 'php''' in D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php:2181 
Stack trace: 
#0 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(2210): s9e\TextFormatter\Configurator\Helpers\TemplateParser::parseChildren(Object(DOMElement), Object(DOMElement)) 
#1 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(2178): s9e\TextFormatter\Configurator\Helpers\TemplateParser::parseNode(Object(DOMElement), Object(DOMElement)) 
#2 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(2133): s9e\TextFormatter\Configurator\Helpers\TemplateParser::parseChildren(Object(DOMElement), Object(DOMElement)) 
#3 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(5871): s9e\TextFormatter\Configurator\Helpers\TemplateParser::parse('<script type="t...') 
#4 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(5844): s9e\TextFormatter\Configurator\RendererGenerators\PHP-> in D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php on line 2181
Nie mam pojęcia o co chodzi. Czy to brak włączonego jakiegoś rozszerzenia PHP w ustawieniach PHP?

Nie bawię się z tym dla zabawy :( Regularna aktualizacja też wypluwa błędy 'Cannot parse node 'php''' o czym już pisałem.
Ostatnio zmieniony 26 lipca 2017, 20:28 przez vader, łącznie zmieniany 1 raz.
Powód: Edytowałem post, aby lepiej pokazać błąd.
_________
forgen.pl

Awatar użytkownika
Cristiano
Posty: 26
Rejestracja: 25 marca 2015, 16:43
Lokalizacja: Wrocław
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: Cristiano » 26 lipca 2017, 20:02

Co jest w liniach, o których mowa w błędzie?

np.

Kod: Zaznacz cały

D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php on line 2181
Starą bazę masz na latin2 czy utf8?

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 26 lipca 2017, 20:10

Jest jakieś odwołanie do XML.

Kod: Zaznacz cały

protected static function parseChildren(DOMElement $ir, DOMElement $parent)
	{
		foreach ($parent->childNodes as $child)
		{
			switch ($child->nodeType)
			{
				case \XML_COMMENT_NODE:
					break;
				case \XML_TEXT_NODE:
					if (\trim($child->textContent) !== '')
						self::appendOutput($ir, 'literal', $child->textContent);
					break;
				case \XML_ELEMENT_NODE:
					self::parseNode($ir, $child);
					break;
				default:
					throw new RuntimeException("Cannot parse node '" . $child->nodeName . "''");
			}
		}
	}
Może to brak modułów w PHP xamppa... nie wiem... na serwerze moduły umiem włączyć, ale na xampp nie specjalnie :(

Jeszcze jedno - gdzie phpbb (oprócz config.php) przechowuje odwołanie do nazwy bazy?
Postawiłem mirror forum, skopiowałem bazy - poza postami. Ale forum pokazuje mi wszystkie posty, więc czerpie je ze starej bazy.
_________
forgen.pl

vader
Moderator
Posty: 1502
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: vader » 26 lipca 2017, 20:34

wicy pisze:Regularna aktualizacja też wypluwa błędy 'Cannot parse node 'php''' o czym już pisałem.
Regularna, w sensie gdy wychodzi nowa wersja to na bieżąco aktualizować skrypt.
wicy pisze:Jeszcze jedno - gdzie phpbb (oprócz config.php) przechowuje odwołanie do nazwy bazy?
Postawiłem mirror forum, skopiowałem bazy - poza postami. Ale forum pokazuje mi wszystkie posty, więc czerpie je ze starej bazy.
Tylko tam. Usunąłeś cache + odświeżyłeś stronę przy pomocy ctrl + F5?

Patrząc na tą linię

Kod: Zaznacz cały

#3 D:\xampp\htdocs\forum\vendor\s9e\text-formatter\src\Configurator.php(5871): s9e\TextFormatter\Configurator\Helpers\TemplateParser::parse('<script type="t...') 
Sprawdź czy nie masz, któregoś BBCode zaczynającego się od <script type="t...' Nie sądzę, że w tak oczywistym miejscu forum jest podatne na wstrzykiwanie skryptów (XSS injection) i parser najwyraźniej wywala błąd na tym miejscu, co jest poprawnym zachowaniem. Poszukaj tego BBCode: ACP > Publikowanie > Znaczniki BBCode i przeleć wszystkie dostępne BBCode, sprawdź głównie pole Zamiennik HTML i usuń taki znacznik / lub go edytuj.

Poczytaj tutaj - https://area51.phpbb.com/phpBB/viewtopi ... 6&start=40 a dokładniej ten post https://area51.phpbb.com/phpBB/viewtopi ... 40#p287411
Stoker wrote: ↑
Tue Feb 09, 2016 10:16 am
However I get this error on first page load after purging cache:
Your templates must contain invalid HTML such as this:

Kod: Zaznacz cały

<a text-decoration:none>{TEXT}</a>
It's only a PHP Warning so it shouldn't block the execution but you should still fix your invalid HTML if possible.
Cin wrote: ↑
Tue Feb 09, 2016 11:47 am
JoshyPHP, if you don't know how to reproduce this, can you tell me what phpBB exactly is trying to do? Because I have no idea what's wrong.
The stack trace shows it happens while processing the templates. Either the flash, img or list BBCodes, the template used for emoji or potentially from custom BBCode templates from a style you installed.

I can't reproduce the issue because I can't figure out what kind of template would trigger it. There is also a possibility this is related to an outdated version of libxml or a bug in your version of PHP's iterator_to_array().

What you could do is edit the file in vendor/s9e/text-formatter/src/Configurator.php and insert some code around line 7271:

Kod: Zaznacz cały

	public function normalize(DOMElement $template)
	{
		$template->ownerDocument->save('/tmp/'.uniqid().'.xml');
Add that last line to save the content of your templates to your /tmp/ directory. Purge your cache then go post a new text and you should find a few dozens of .xml files in your /tmp/ dir. Put them in an archive and send them to me and I'll take a look at them asap.
PS. Na przyszłość polecam umieścić pełny wyjątek, nie tylko jego fragment.

Awatar użytkownika
Cristiano
Posty: 26
Rejestracja: 25 marca 2015, 16:43
Lokalizacja: Wrocław
Kontakt:

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: Cristiano » 26 lipca 2017, 21:26

A ja tylko dopiszę, że czasem przeglądarka namiętnie przetrzymuje ciasteczka.

W Chrome korzystam z opcji incognito żeby sprawdzić, czy wszystkie zmiany weszły w życie. Potem zamykasz kartę i ciasteczka automatycznie się kasują.

wicy
Posty: 168
Rejestracja: 22 października 2010, 10:28

Re: Jak zaktualizować phpBB 3.1.10 do phpBB 3.2.0?

Post autor: wicy » 27 lipca 2017, 14:22

vader pisze: Tylko tam. Usunąłeś cache + odświeżyłeś stronę przy pomocy ctrl + F5?
Zapomniałem :oops: Przy tylu kombinacjach człowiek zapomina rzeczy podstawowych a przecież zmieniłem cookies kopii forum.
vader pisze: Sprawdź czy nie masz, któregoś BBCode zaczynającego się od <script type="t...' Nie sądzę, że w tak oczywistym miejscu forum jest podatne na wstrzykiwanie skryptów (XSS injection) i parser najwyraźniej wywala błąd na tym miejscu, co jest poprawnym zachowaniem. Poszukaj tego BBCode: ACP > Publikowanie > Znaczniki BBCode i przeleć wszystkie dostępne BBCode, sprawdź głównie pole Zamiennik HTML i usuń taki znacznik / lub go edytuj.
Usunąłem wszystkie BBcode na wszelki wypadek i faktycznie błąd ustąpił.
Pojawił się za to

Kod: Zaznacz cały

SQL ERROR [ mysqli ]

Field 'post_id' doesn't have a default value [1364]

SQL

INSERT INTO phpbb_posts (forum_id, poster_id, icon_id, poster_ip, post_time, post_visibility, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_locked, topic_id) VALUES (26, 2, 0, '::1', 1501160454, 1, 1, 1, 1, 1, '', 'Re: Jak zacząć poszukiwania...', '<t>2312</t>', '69dafe8b58066478aea48f3d0f384820', 0, '', '2sadm0m1', 1, 0, 217)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 999
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/includes/functions_posting.php
LINE: 1872
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/posting.php
LINE: 1424
CALL: submit_post()
Domyślna wartość post_id? Czy może chodzić o to, że tabela posts nie jest wgrana kompletnie? Id ostatniego postu nie odpowiada ilości postów.
_________
forgen.pl

ODPOWIEDZ

Wróć do „Użytkowanie”