Ik moet de binary tree gaan herstellen, ik ben naar dit bericht door verwezen. Hoe moet ik dit bestand precies uitvoeren? En waar moet ik het neerzetten? Hoe ga ik te werk?Derky schreef:Het lijkt erop dat je Binary Tree dood is.![]()
Wat dat is? Deze 'boom' houd bij in welke volgorde de forums staan en welke subforums van elkaar zijn.
Hoe lossen we dit op?
Maak eerst een back-up van je database.
Maak een bestand genaamdrebuild_tree.php
aan en zet daarin het onderstaande. Voer daarna dit bestand uit en het moet weer werken. De forums zullen nu wel door de war staan maar dit was dus al zo, alleen zag je het niet.![]()
Code: Selecteer alles
<?php define('IN_PHPBB', true); $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; $phpEx = substr(strrchr(__FILE__, '.'), 1); include($phpbb_root_path . 'common.' . $phpEx); // Start session management $user->session_begin(); $auth->acl($user->data); /* Recalculate Binary Tree */ function recalc_btree($sql_id, $sql_table, $module_class = '') { global $db; if (!$sql_id || !$sql_table) { return; } $sql_where = ($module_class) ? " WHERE module_class = '" . $db->sql_escape($module_class) . "'" : ''; // Reset to minimum possible left and right id $sql = "SELECT MIN(left_id) as min_left_id, MIN(right_id) as min_right_id FROM $sql_table $sql_where"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); $substract = (int) (min($row['min_left_id'], $row['min_right_id']) - 1); if ($substract > 0) { $sql = "UPDATE $sql_table SET left_id = left_id - $substract, right_id = right_id - $substract $sql_where"; $db->sql_query($sql); } $sql = "SELECT $sql_id, parent_id, left_id, right_id FROM $sql_table $sql_where ORDER BY left_id ASC, parent_id ASC, $sql_id ASC"; $f_result = $db->sql_query($sql); while ($item_data = $db->sql_fetchrow($f_result)) { if ($item_data['parent_id']) { $sql = "SELECT left_id, right_id FROM $sql_table $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . " $sql_id = {$item_data['parent_id']}"; $result = $db->sql_query($sql); if (!$row = $db->sql_fetchrow($result)) { $sql = "UPDATE $sql_table SET parent_id = 0 WHERE $sql_id = " . $item_data[$sql_id]; $db->sql_query($sql); } $db->sql_freeresult($result); $sql = "UPDATE $sql_table SET left_id = left_id + 2, right_id = right_id + 2 $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . " left_id > {$row['right_id']}"; $db->sql_query($sql); $sql = "UPDATE $sql_table SET right_id = right_id + 2 $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . " {$row['left_id']} BETWEEN left_id AND right_id"; $db->sql_query($sql); $item_data['left_id'] = $row['right_id']; $item_data['right_id'] = $row['right_id'] + 1; } else { $sql = "SELECT MAX(right_id) AS right_id FROM $sql_table $sql_where"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); $item_data['left_id'] = $row['right_id'] + 1; $item_data['right_id'] = $row['right_id'] + 2; } $sql = "UPDATE $sql_table SET left_id = {$item_data['left_id']}, right_id = {$item_data['right_id']} WHERE $sql_id = " . $item_data[$sql_id]; $db->sql_query($sql); } $db->sql_freeresult($f_result); } recalc_btree('forum_id', FORUMS_TABLE); trigger_error("klaar!"); ?>
Binary Tree maken
Forumregels
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Binary Tree maken
Op zoek naar een vertaling voor je extensie? vertalingen
Re: Binary Tree maken
Je moet de instructies die derky aangaf volgen? Dan wordt de tree hersteld.
Re: Binary Tree maken
Maar dat bestand, dat moet in in de root van me forum zetten neem ik aan? En dan in me webbrowser naar dat bestand toe gaan? En dan gaat de rest van zelf toch?
De tabellen heten phpbb3_ dus moet ik de phpbb_ aanpassen toch?
De tabellen heten phpbb3_ dus moet ik de phpbb_ aanpassen toch?
Op zoek naar een vertaling voor je extensie? vertalingen
Re: Binary Tree maken
Het al geprobeerd? Je hebt toch een backup, dus als het fout gaan kan je hem zo terug zetten.David schreef:Maar dat bestand, dat moet in in de root van me forum zetten neem ik aan? En dan in me webbrowser naar dat bestand toe gaan? En dan gaat de rest van zelf toch?
Nee.De tabellen heten phpbb3_ dus moet ik de phpbb_ aanpassen toch?
Re: Binary Tree maken
Ter verduidelijking, welke phpbb_ had je willen veranderen? Er is er niet 1 die in een SQL-query voorkomt als prefix van de tabelnaam, want dat is allemaal netjes geregeld door het includen van common.php en het gebruik van de constante FORUMS_TABLE voor de tabel-naam.
Overigens, als je met zoveel vragen zit, zorg dan gewoon voor een lokale testomgeving waar je dit kunt uitproberen zonder direct schade te veroorzaken als het mis gaat. M.a.w., don't take our word for it, maar zorg gewoon voor je eigen zekerheid
(Paul's tip om een backup te maken en het gewoon te proberen valt ook onder die categorie).
Overigens, als je met zoveel vragen zit, zorg dan gewoon voor een lokale testomgeving waar je dit kunt uitproberen zonder direct schade te veroorzaken als het mis gaat. M.a.w., don't take our word for it, maar zorg gewoon voor je eigen zekerheid

Dutch Open Projects
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Re: Binary Tree maken
Ik ben inmiddels bezig een test locatie te maken, om dit te doen
Alleen is het niet mijn website. Dus ik wil wel voorzichtig zijn en zeker zijn met wat ik doe, alleen de backup die ik heb is niet goed. Ik wilde deze op de test database zetten en kreeg de volgende melding:(

Code: Selecteer alles
Fout
Er schijnt een fout te zijn in uw SQL query. Mocht de MySQL server een error hebben terug gegeven, probeer dan of uw hiermee uw fout kunt oplossen.
ERROR: Onbekende Punctuatie String @ 5
STR: />
SQL: <br />
<b>Fatal error</b>: Out of memory (allocated 87556096) (tried to allocate 84148630 bytes) in <b>/usr/local/cpanel/base/3rdparty/phpMyAdmin/export.php</b> on line <b>133</b><br />
SQL-query:
<br /> <b>Fatal error</b>: Out of memory (allocated 87556096) (tried to allocate 84148630 bytes) in <b>/usr/local/cpanel/base/3rdparty/phpMyAdmin/export.php</b> on line <b>133</b><br />
MySQL retourneerde: Documentatie
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<br />
<b>Fatal error</b>: Out of memory (allocated 87556096) (tried to allocat' at line 1
Op zoek naar een vertaling voor je extensie? vertalingen
Re: Binary Tree maken
Kijk, ook zoiets. Wel handig om je *backup* te testen voor je rare dingen gaat doen
Het lijkt erop dat het backup-script tegen de geheugenlimiet van PHP is aangelopen bij het maken van de backup (voor de zekerheid, open eens de backup in een tekst-editor, komt die tekst uit de dump?). Je kunt proberen om de geheugenlimiet te verhogen, hoewel hij al redelijk hoog lijkt te staan (er zijn bijna 90 MB gealloceerd als het mis gaat). Misschien even kijken naar de opties die je gebruikt bij het maken van de backup. Andere mogelijkheid is om de dump in delen te maken.

Het lijkt erop dat het backup-script tegen de geheugenlimiet van PHP is aangelopen bij het maken van de backup (voor de zekerheid, open eens de backup in een tekst-editor, komt die tekst uit de dump?). Je kunt proberen om de geheugenlimiet te verhogen, hoewel hij al redelijk hoog lijkt te staan (er zijn bijna 90 MB gealloceerd als het mis gaat). Misschien even kijken naar de opties die je gebruikt bij het maken van de backup. Andere mogelijkheid is om de dump in delen te maken.
Dutch Open Projects
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Re: Binary Tree maken
Ik weet niet wat het is
Maar ik heb de back-up in delen gemaakt.... En heb zelf geprobeerd ze 1 voor 1 te maken. Maar alleen de eerste 28 tabellen krijg ik een goede back-up van de daar op volgende tabellen geven nog steeds de zelfde melding...
Onderstaande tekst staat er, als de foute back-up in notepad open!
Dat bestand kan ik op zich wel vinden, maar om daar nou in te gaan klooien zie ik niet zitten!
Er wordt contact gezocht met de host maar die is beperkt door dat die op vakantie is...
Kan ik zelf instellingen veranderen? zodat als nog back-up kan maken...

Onderstaande tekst staat er, als de foute back-up in notepad open!
Code: Selecteer alles
<br />
<b>Fatal error</b>: Out of memory (allocated 87556096) (tried to allocate 84148277 bytes) in <b>/usr/local/cpanel/base/3rdparty/phpMyAdmin/export.php</b> on line <b>133</b><br />
Er wordt contact gezocht met de host maar die is beperkt door dat die op vakantie is...
Kan ik zelf instellingen veranderen? zodat als nog back-up kan maken...
Op zoek naar een vertaling voor je extensie? vertalingen
Re: Binary Tree maken
Euhm, je bedoelt: die is ook wel eens 's weekends vrij. Wat hij/zij in het weekend uitvoert, is dan zijn/haar zaakDavid schreef:Er wordt contact gezocht met de host maar die is beperkt door dat die op vakantie is...

Houd jullie persoonlijke zaken buiten dit forum graag. En nu weer ontopic.
Tip: maak eens een backup met phpMyAdmin. Of benader eens rechtstreeks de hoster. Die is best bereid om een kopietje te maken van de database en deze op een nieuwe database te importeren.- Jim
http://phpbb3.nl Jouw gratis forumprovider!
Re: Binary Tree maken
Uit de foutmelding blijkt dat hij al phpMyAdmin gebruikt...
Dutch Open Projects
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Mini Seven Club Nederland - Het grote forum voor het kleine autootje
Geen support via PM of mail
Re: Binary Tree maken
Ik kan gelukkig foutmeldingen lezenEelkeB schreef:Uit de foutmelding blijkt dat hij al phpMyAdmin gebruikt...

Maar hoe hij phpMyAdmin gebruikt, op zijn kop, of via New York of met behulp van een handstand: hier kon ik zonder enig probleem een backupje maken via phpMyAdmin. Ik heb hem inmiddels al geinstrueerd (voordat er weet opmerkingen komen dat er enkel commentaar van mijn kant komt

http://phpbb3.nl Jouw gratis forumprovider!
Re: Binary Tree maken
Ik heb de rebuild_tree.php uitgevoerd, de onderdelen lijken goed te staan, Ik kwam alleen onderstaand tegen... Dit hoort volgens mij niet zoo! Kan ik hier iets aan doen?
http://www.berner4life.com/Voorbeeldje.jpg
Ik heb de Cache en beheerder buffer geleegd, maar dat had geen zin!
_____________________________________________________________________
Het is al weg... Was even met iets bezig, en zie nu dat het opeens weg is!!
http://www.berner4life.com/Voorbeeldje.jpg
Ik heb de Cache en beheerder buffer geleegd, maar dat had geen zin!
_____________________________________________________________________
Het is al weg... Was even met iets bezig, en zie nu dat het opeens weg is!!
Op zoek naar een vertaling voor je extensie? vertalingen