Ušetřím vás spoustu googlení, když vám někdo dá prehistorické, neupdatované forum s prosbou o update.
Poslední verze PHPBB 3.2.x je 3.2.11. Problém je, že spousta diskusních fór se na update vykašlala, nebo se nedostala přes verzi 3.2.2 a novější, protože zde byl historicky největší problém forum updatnout na novější verzi, kdy to selhávalo s tunou chyb.
Pozor, s PHP 7.2 to řvalo errory s timeoutem, fakt jsem se nechtěl otravovat zdlouhavým procházením php.ini a řešit timeouty na kde co možné, takže jsem přiinstaloval php-fpm5.6 a na apachi jsem v definici webu řekl, ať to používá php5.6-fpm.
Zde rovnou hodím příkazy na doinstalaci php5.6-fpm pro debianí/ubuntí systémy: (bude fungovat na debian 11 a 10 a možná i debianu 9):
#!/bin/bash apt update -y apt install software-properties-common ca-certificates lsb-release apt-transport-https -y sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add - apt update -y apt install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache php5.6-common php5.6-json php5.6-readline php5.6-xml -y Pokud si to můžete dovolit, protože je to nějaký nejzapadlejší server na internetu, který můžete přepnout na php5.6 kompletně, tak je to tímto příkazem:
update-alternatives --config php There are 4 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/php.default 100 auto mode 1 /usr/bin/php.default 100 manual mode 2 /usr/bin/php5.6 56 manual mode * 3 /usr/bin/php7.2 72 manual mode 4 /usr/bin/php7.4 74 manual mode Press <enter> to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/bin/php5.6 to provide /usr/bin/php (php) in manual mode # systemctl restart apache2 V opačném případě budete muset php-fpm vložit do definice webu sem: <FilesMatch \.php$> # For Apache version 2.4.10 and above, use SetHandler to run PHP as a fastCGI process server SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost" </FilesMatch> # ověřte si, že máte nastartovaný php5.6-fpm pomocí systemctl restart php5.6-fpm
# systemctl status php5.6-fpm ● php5.6-fpm.service - The PHP 5.6 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php5.6-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-05-21 20:55:33 CEST; 33min ago Docs: man:php-fpm5.6(8) Process: 406567 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/5.6/fpm/pool.d/www.conf 56 (code=exited, status=0/SUCCESS) Main PID: 406564 (php-fpm5.6) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 9406) Memory: 14.2M CPU: 193ms CGroup: /system.slice/php5.6-fpm.service ├─406564 php-fpm: master process (/etc/php/5.6/fpm/php-fpm.conf) ├─406565 php-fpm: pool www └─406566 php-fpm: pool www
Takže řešení v případě updatu na nejnovější 3.2.11 z prehistorické 3.2.2 (mělo by fungovat i z 3.2.0):
Spustíte update fora, stejně se vám to rozsype a bude to házet chyby. Přihlásíte se do phpmyadmina/adminera/SQLyogu do MySQL serveru a provedete tyto SQL dotazy:
TRUNCATE TABLE phpbb_migrations;
DELETE FROM phpbb_migrations WHERE migration_name = "\phpbb\db\migration\data\v310\profilefield_wlm";
DELETE FROMphpbb_modules
WHEREmodule_langname
LIKE 'ACP_CONTACT_SETTINGS';
DELETE FROMphpbb_modules
WHEREmodule_langname
LIKE 'UCP_AUTH_LINK_MANAGE';
TRUNCATE TABLE phpbb_migrations;
ALTER TABLE phpbb_user_notifications DROP INDEX itm_usr_mthd;
A kliknete na tlačítko update fora znovu a už to proběhne do 100% bez problémů.
Zkoušel jsem, jestli by provedení těchto SQL dotazů před updatem, problém vyřešilo. Nevyřešilo. Řeší až výskyt problémů po neúspěšném updatu, takže nebylo možné se na update připravit tak, aby prošel na první dobrou.
Jinak zbytek návodu na update na PHPBB3.2.x na poslední PHPBB 3.2.11 by měl být defakto stejný, jako update na 3.2.X na 3.3.X, který sem copy&pastnu pro případ, že by např. projekt PHPBB zanikl úplně. Tímto se autorům PHPBB omlouvám, že tu copy&pastnu jejich návod s tím, že uvedu původní zdroj z jejich webu, odkud jsem čerpal právě z obav, pokud by někdy jejich web např. zaniknul, nebo návod zmizel + jsem návod prohnal DeepL strojovým překladačem.
Zdroj návodu. Další zdroj zde.
Upgrading z 3.2 na 3.3 (stejný postup z 3.2.x na 3.2.11)
Aktualizace na phpBB 3.3 může způsobit, že některé styly a rozšíření přestanou fungovat. Pokud máte vlastní logo, může být nutné ho po aktualizaci předělat. Viz Znalostní báze: Jak změnit logo nástěnky.
phpBB 3.3 by mělo být zpětně kompatibilní s verzí 3.2, nicméně některá rozšíření a vlastní úpravy již nemusí fungovat. Nejjednodušší metodou upgradu je před upgradem odstranit všechny stávající soubory a po ověření jejich správnosti znovu použít vlastní změny.
Chcete-li provést upgrade, proveďte následující kroky:
Ujistěte se, že váš server splňuje požadavky pro provoz phpBB 3.3: část 1.1, „Požadavky“.
Vytvořte zálohu původních souborů
Proveďte zálohu databáze
Deaktivujte všechny styly kromě prosilveru
Deaktivujte všechna rozšíření, která nejsou kompatibilní s phpBB 3.3. Ověřte si u autora rozšíření, zda je kompatibilní, nebo ne.
Nastavte britskou angličtinu jako jediný jazykový balíček
Stáhněte si archiv kompletního balíčku phpBB 3.3 (v případě updatu na 3.2.11 nejnovější 3.2.11 v zájmu stejné verze 3.2.x)
Rozbalte obsah archivu do počítače a otevřete adresář phpBB3.
Z balíčku odstraňte následující soubory:
Soubor config.php
adresář images/
Adresář files/
Adresář store/
Na svých webových stránkách odstraňte všechny soubory z desky kromě:
Soubor config.php
adresáře ext/
adresáře images/
adresáře files/
adresáře store/
Nahrajte obsah adresáře phpBB3 z vašeho počítače do adresáře vašeho fóra. Můžete být vyzváni k přepsání zbývajících souborů. Pokud budete vyzváni ke sloučení nebo přepsání adresářů, zvolte sloučení.
Aktualizujte databázi:
Tip
U rozsáhlých fór můžete místo webového prohlížeče provést aktualizaci přes příkazový řádek. V kořenovém adresáři nástěnky spusťte následující příkaz: php ./bin/phpbbcli.php db:migrate –safe-mode
Pomocí webového prohlížeče navštivte install/ v kořenovém adresáři své nástěnky. (např. http://www.example.com/yourforum/install).
Klikněte na záložku Aktualizace
Klikněte na tlačítko Aktualizovat
Vyberte možnost „Aktualizovat pouze databázi“ a klikněte na tlačítko Odeslat
Počkejte, až ukazatel průběhu dosáhne 100 % a zobrazí se zpráva, že aktualizace byla dokončena.
Odstraňte adresář install/
Poznámka
Ujistěte se, že je při nahrávání zahrnut soubor .htaccess kořenové úrovně. Někteří klienti FTP nezobrazují soubory, jejichž názvy začínají tečkou, a možná bude nutné povolit zobrazení skrytých souborů.
Poznámka:
Pokud vaše nástěnka používala jiné jazykové balíčky než britskou angličtinu, budete si muset stáhnout verzi kompatibilní s phpBB 3.3 ze stránky https://www.phpbb.com/languages/.
Důležité
Při nahrávání souborů verze 3.3 na server NEPŘEpisujte soubor config.php.
Důležité
Při zálohování souborů se ujistěte, že váš FTP klient je v binárním režimu nebo přenáší soubory bez přípon v binárním režimu.
Další informace naleznete na adrese: Znalostní báze: Přenos souborů s přílohami pomocí aplikace Filezilla
Po upgradu na 3.2.11 je upgrade na 3.3.7 už naprosto bez problémů
viz obrázek.