Někteří uživatelé phpBB se můžou (obvykle při aktualizaci phpBB) dostat do problému s délkou názvu tabulky v databázi, který může mít jen 30 znaků (což je potřeba, aby šlo používat Oracle databázi). Problém je v tom, že pokud uživatel přejmenuje výchozí předponu tabulek a dá jí delší název o více než jeden znak než je výchozí název, tak spolu s delším názvem několika tabulek v phpBB 3.1 dosáhne snadno maxima znaků a objeví se mu výše zmíněná chyba. Při nové instalaci phpBB to není problém, protože lze nainstalovat phpBB znovu, ale při aktualizaci fóra se prostě musí předpona tabulek změnit.
Určitě jde změna předpony tabulek provést manuálně v phpMyAdminu, ale tento návod bude popisovat práci se starším skriptem, který ale podle mého testu na lokálním fóru funguje i na phpBB 3.1.x.
Předtím, než popíšu práci se skriptem musím upozornit, že nejsem odborník na práci s databázemi, proto asi nebudu schopen řešit možné problémy, do kterých se můžete při používání skriptu dostat. Z toho důvodu si zazálohujte před začátkem akce vaši databázi. Pokud se něco pokazí, nehažte odpovědnost na mě.
Po úvodu delším než jsem čekal se konečně dostáváme k podrobnému návodu:
- Přejděte na tuto stránku a pokud vás zajímají podrobnosti o tom, co skript obsahuje, si stránku přečtěte. Jinak sjeďte dolů a pomocí tlačítka „Download Source“ stáhněte skript.
- Rozbalte stažený zip a soubor „prefix.php“ nahrajte do kořenového adresáře vašeho fóra (tam, kde je soubor „config.php“)
- Otevřete v prohlížečí následující adresu:
http://www.vase_forum/prefix.php
- Vyplňte formulář, který se zobrazí po načtení skriptu v prohlížeči (všechny potřebné údaje najdete v souboru „config.php“ v kořenovém adresáři fóra):
kde:
- „Enter database name“ („Vložte název databáze“) - V souboru „config.php“ je to položka „$dbname“
- „Enter database user“ („Vložte uživatele databáze“) - položka „$dbuser“
- „Enter database password“ („Vložte heslo k databázi“) - položka „$dbpasswd“
- „Enter New Prefix“ („Vložte novou předponu“) - vložte novou (kratší) předponu tabulek bez končícího podtržítka. Já jsem použil „bbhph“. Předpona by neměla být delší než 5 znaků.
Nicméně pod touto hláškou je zobrazeno, že jednotlivé tabulky byly úspěšně přejmenované - „Successfully renamed phpbb_acl_groups to bbhph_acl_groups in qi31_newspage“ (všimněte si změny předpony z phpbb na bbhph)
- „Enter database name“ („Vložte název databáze“) - V souboru „config.php“ je to položka „$dbname“
- V kořenovém adresáři fóra (na serveru) najděte složku „cache“ a smažte v ní všechny soubory kromě souborů „.htaccess“ a „index.htm“.
- Otevřete soubor „config.php“ v Notepadu ++ nebo PSPadu (doporučené editory kódů) a změňte položku „$table_prefix“. V mém případě to je z:
$table_prefix = 'phpbb_';
na:
$table_prefix = 'bbhph_';
- Otestujte, jestli fórum funguje a smažte ze serveru nahraný soubor „prefix.php“.
A to je vše. Tady jsou ještě skrýnšoty z phpMyAdminu před změnou předpony tabulek a po ní: