PHPBB 3.3.1 adatbázis konvertálási hiba

Szerző
Üzenet
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2020.10.11. 21:24    Hozzászólás témája: PHPBB 3.3.1 adatbázis konvertálási hiba
Hozzászólás az előzmény idézésével
Sziasztok!

Nagy bajba kerültem, és nem tudtam megoldani. 3.3.0 verzióról 3.3.1 verzióra Autoupdate-tel akartam telepíteni, fájlok lementek, de az adatbázis konvertálásnál hibára futott. Egyszerűen nem tudom, mi a baja, a config is mysqli-re van már beállítva (3.3.0 esetén már kellett).

Aztán láttam, ez nem megy, visszatettem a 3.3.0 fájlokat, de ott sem fut le az adatbázis update, viszont több hibát ad:

Kód:


General Error: in file /home/sukitore/sukitore.com/phpbb/db/driver/driver.php on line 1020BACKTRACEFILE: (not given by php)LINE: (not given by php)CALL: installer_msg_handler()FILE: [ROOT]/phpbb/db/driver/driver.phpLINE: 1020CALL: trigger_error()FILE: [ROOT]/phpbb/db/driver/mysqli.phpLINE: 195CALL: phpbb\db\driver\driver->sql_error()FILE: [ROOT]/phpbb/db/driver/factory.phpLINE: 345CALL: phpbb\db\driver\mysqli->sql_query()FILE: [ROOT]/includes/functions_user.phpLINE: 294CALL: phpbb\db\driver\factory->sql_query()FILE: [ROOT]/phpbb/db/migration/data/v33x/bot_update.phpLINE: 80CALL: user_add()FILE: (not given by php)LINE: (not given by php)CALL: phpbb\db\migration\data\v33x\bot_update->add_duckduckgo_bot()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 714CALL: call_user_func_array()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 661CALL: phpbb\db\migrator->run_step()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 436CALL: phpbb\db\migrator->process_data_step()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 351CALL: phpbb\db\migrator->try_apply()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 351CALL: phpbb\db\migrator->try_apply()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 351CALL: phpbb\db\migrator->try_apply()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 288CALL: phpbb\db\migrator->try_apply()FILE: [ROOT]/phpbb/db/migrator.phpLINE: 241CALL: phpbb\db\migrator->update_do()FILE: [ROOT]/phpbb/install/module/update_database/task/update.phpLINE: 160CALL: phpbb\db\migrator->update()FILE: [ROOT]/phpbb/install/module_base.phpLINE: 149CALL: phpbb\install\module\update_database\task\update->run()FILE: [ROOT]/phpbb/install/installer.phpLINE: 219CALL: phpbb\install\module_base->run()FILE: [ROOT]/phpbb/install/controller/update.phpLINE: 133CALL: phpbb\install\installer->run()FILE: [ROOT]/vendor/symfony/http-foundation/StreamedResponse.phpLINE: 114CALL: phpbb\install\controller\update->phpbb\install\controller\{closure}()FILE: [ROOT]/vendor/symfony/http-foundation/Response.phpLINE: 374CALL: Symfony\Component\HttpFoundation\StreamedResponse->sendContent()FILE: [ROOT]/install/app.phpLINE: 62CALL: Symfony\Component\HttpFoundation\Response->send()


A PHP-m 7.2 vagy 7.4, tökmindegy.

Viszont ami érdekes volt, hogy nem engedett be a jelszavammal egyik frissítés után sem, jelszóemlékeztetőt kellett kérnem.

Plusz hab: nem érem el az admin felületet sem, egyszerűen az admin vezérlőpultba nem enged be. Azt mondja: nincs ott semmi, a kért oldal nem található. Minden kiterjesztést letiltottam, és akkor is ez van. Nem férek hozzá az admin pulthoz... :shock: :shock: :shock:

Mindjárt sikítok, mert sosem jártam így félúton.

3.3.0 full fájlok visszatéve, adatbázis is visszatöltve, cache törölve, extensionök letiltva, az admin pulthoz mégsem férek hozzá. Telepítés előtt még sikerült.

Update1: letöröltem az adm mappát, visszamásoltam. Ezek után amikor be akartam lépni az admin felületre, közölte, hogy a jelszó nem jó. Erre kiléptem, és nem engedett vissza, megint jelszóemlékeztető kellett... :shock:

Mi a franc folyik itt???? :shock: :shock: :shock:

Update2: végül közel 3 órás küzdelem után sikerült olyan állapotba visszahozni az oldalt, hogy működik. Hogy esetleg mi az, ami nem, talán kiderül egyszer, viszont vicc, hogy a frissítő (akár az autoupdate, akár a full) nem tudott csatlakozni az adatbázishoz, de az oldal meg megy. Nonszensz. Ráadásul úgy, hogy az összes extension le volt tiltva, hogy azok se kavarjanak be. Úgyhogy nem tudom, mi lehet a háttérben, de semmilyen fórumbejegyzést és megoldást nem találtam a fenti dolgokra. Esetleg egy PHP extensionre gyanakodtam volna, de minden más működik alapból is, "csak" az adatbázis frissítés nem. Lezongoráztam már hogy full telepítőt teszek fel, visszaraktam a régi verziót, de az adm mappa rejtélye csak akkor oldódott meg, miután töröltem és késszel csak azt visszaraktam. A fájlokba belenéztem, semmi gyanús sem volt bennük.
Használom már vagy 13 éve a PHPBB-t, és belefutottam pár érdekes dologba, de amióta ez a symphony van, csak szívok. A fentit pedig komolyan mondom, nem tudtam, hogyan háríthatom el a visszalépésen kívül.

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2020.10.12. 19:06    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szia!

A hibaüzenetet megnézve az látszik, hogy az install/update/new/phpbb/db/migration/data/v33x/bot_update.php fájlban lévő add_duckduckgo_bot() metódus fut, ami megpróbálna egy SQL lekérdezést lefuttatni, és az fut hibára.

A hibaüzenetben* lévő sorszám alapján a 80. sorban lévő

Kód:

$user_id = user_add($user_row);

nem tudja létrehozni a DuckDuckGo [Bot] felhasználót. Ami azért furcsa, mert az egész létrehozás benne van egy ellenőrzésben, hogy ha létezne a bot, akkor ne próbálja meg újra létrehozni.
A phpbb_users (vagy más előtagú) táblát lenne érdemes megnézned, hogy eltér-e valamiben egy alap phpBB táblájától.

Amire meg gondolni tudok, hogy az egyik kapcsolódó adatnál (group_id, group_colour) szúrna be valami érvénytelen adatot. Ezeket a phpbb_groups táblában találod.
Ha a phpbb_groups táblában nem létezik a keresőrobotok sora, akkor alapértékeket szúr be ebbe a két mezőbe. Esetleg itt nem stimmelne valami?

Az admin mappa tényleg elég rejtélyes. A tárhelyen nincs a PHP Zend OPcache extension-je engedélyezve (PHP 7-ben már alapból benne van, igaz, külön kell bekapcsolni)?
Ez az -amúgy hasznos- kiegészítő alapbeállításokkal egy fájlt többször is lekérve is csak 2 másodpercenként ellenőrzi, hogy van-e újabb változat belőle (a fájl dátumát nézi), addig a régi kódot futtatja. Ez normál használatnál rendben is van, viszont be lehet úgy állítani, hogy csak jóval ritkábban vagy csak a webkiszolgáló újraindulásakor ellenőrizze, hogy van-e újabb példány az adott fájlból. Nem hinném, hogy itt is ez "ragadhatott be", de gyanús, hogy amikor a fájlokat újra feltöltötted és megváltozott a fájlok dátuma, akkor lett jó.
Igaz, a három óra így is nagyon sok idő :roll:

Ezt úgy tudod ellenőrizni, hogy a fórum Adminisztrátori vezérlőpult (ha jól értem, már el tudod érni) Rendszer fülének PHP információ pontjából vagy a tárhelyed admin felületéről kérsz egy PHP info oldalt, és ott rákeresel az opcache.revalidate_freq értékére, másodpercben lesz megadva.

Ha másképp nem megy, akkor úgy is el tudod érni ezeket az információkat, hogy ideiglenesen feltöltesz egy PHP fájlt tetszőleges névvel és böngészőből meghívod:

Kód:

<?php
phpinfo();


Ezt a fenti OPcache-es dolgot csak halvány tippnek mondanám, de már belefutottam olyanba, hogy a WordPress frissítés közben megfeküdt, mert kicserélte az egyik fájlt, amit a frissítés során is már használt volna, de az OPCache-ből még fél percig a régi példány volt elérhető. Igaz, az esetemben megjavult a dolog, miután visszaállítottam az alap 2 másodperces ellenőrzési időt.
Nem is tudom, eredetileg miért állítottam át :)


* Kimásoltam azt a részt, lentről fölfelé halad:

Kód:


// Ami hibára fut
CALL: phpbb\db\driver\driver->sql_error()
FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 345

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

// Ami adatbázis parancsot futtatna
CALL: phpbb\db\driver\factory->sql_query()
FILE: [ROOT]/phpbb/db/migration/data/v33x/bot_update.php
LINE: 80

// Ami meghívná a user_add-ot
CALL: user_add()
FILE: (not given by php)
LINE: (not given by php)

// Itt hívja meg az add_duckduckgo_bot-ot
CALL: phpbb\db\migration\data\v33x\bot_update->add_duckduckgo_bot()
FILE: [ROOT]/phpbb/db/migrator.php
LINE: 714


Szerk.: Még az jutott eszembe, hogy a phpBB sql_error()-ja -megnézve a kódot- a trigger_error() PHP hívást használja, így remélhetőleg benne lesz a hibaüzenet a PHP hibanaplójában, amit a tárhelyed admin felületéről tudsz elérni.

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2020.10.13. 10:56    Hozzászólás témája:
Hozzászólás az előzmény idézésével
A user dolog erősen gyanús, mert nekem nincs felvéve DuckDuck a listában, és úgy tűnik, ezen máris kiakadt. Mondjuk fura, hogy a user táblán akadt meg a folyamat, mert oda több extension is beír, viszont hiába is tiltom le az extensionöket, attól még az oszlopok megmaradnak...

Nekem ilyenek vannak az alapokon túl, és este nekiesek kideríteni, melyiknél akad le a folyamat, megpróbálom kézzel felvenni a kacsát:

Kód:

"user_gender";"user_invitations";"user_referrals";"user_posts_per_page";"user_reminder_inactive";"user_reminder_zero_poster";"user_reminder_inactive_still";"user_reminder_not_logged_in";"user_new";"user_reminded";"user_reminded_time";"user_meghivo";"user_meghivo_member";"user_meghivo_block";"last_post_text";"last_post_text_pm";"user_rt_enable";"user_rt_sort_start_time";"user_rt_unread_only";"user_rt_location";"user_mchat_avatars";"user_mchat_capital_letter";"user_mchat_character_count";"user_mchat_date";"user_mchat_index";"user_mchat_location";"user_mchat_message_top";"user_mchat_posts";"user_mchat_relative_time";"user_mchat_sound";"user_mchat_stats_index";"user_mchat_whois_index"


A groups tábla úgy tűnik, rendben van, ott a csoport is a helyén, színek szintén.

A tárhelyszolgáltatót megkerestem, és úgy tűnik, minden bővítmény be van kapcsolva a PHP-ra (Multiselect PHP-t használok, és EA verziókat). Az opcache.revalidate_freq értéke 2, tehát ez sem lehet elvileg gond... :roll:

Felhasználó profiljának megtekintése Privát üzenet küldése
Mykee
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2005.08.29. Hétfő 1:00
Hozzászólások: 814
Hozzászólás Elküldve: 2020.10.13. 19:34    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Mesterem, hálám üldözzön sokáig! A fenti hibaüzenetből ki nem találtam volna, hogy a kacsával van a baj. Konkrétan kézzel felvettem a PHPMyAdminban ezt a usert, és lőn csoda, a frissítés egy percen belül hiba nélkül lefutott fájlfrissítéssel együtt!
Úgyhogy valami miatt nem jött össze ez a felhasználó frissítés, ha extensionök is vannak ott, ami azért elég érdekes, hogy lyukra futott. :roll:

Szóval hálásan köszönöm a hatalmas segítséget, mert magamtól tényleg órákig vacakoltam volna vele! :oops:

Felhasználó profiljának megtekintése Privát üzenet küldése
Marcee
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2006.01.17. Kedd 1:00
Hozzászólások: 2921
Hozzászólás Elküldve: 2020.10.14. 16:25    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Nagyon szívesen! Örülök, hogy sikerült megoldanod a problémát :)

Felhasználó profiljának megtekintése Privát üzenet küldése
Hozzászólások megtekintése:  

Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés