Typo3 LTS Upgrade: Unterschied zwischen den Versionen

Aus Vosp.info
Wechseln zu:Navigation, Suche
(auf dem neuen Server)
 
(39 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
   
 
   
 +
https://jweiland.net/typo3-cms/versionen-und-updates.html
 +
 +
== standard prozedure ==
 +
 +
=== auf dem alten Server ===
 +
 +
* alle möglichen caches löschen
 +
* sämtliche tests mal machen
 +
* noch mal alle möglichen caches löschen
 +
 +
==== Backup Machen ====
 +
 +
* bash
 +
<source lang="bash">
 +
cd /var/www/_site_
 +
cat typo3conf/LocalConfiguration.php  | grep "DB" -A 10
 +
# export
 +
mysqldump --single-transaction --default-character-set=utf8 -u _username_ -p _databasename_ > mysql._databasename_.xy.yyyymmdd.sql
 +
#
 +
cd ..
 +
tar -czvf _site_xy.yyyymmdd.tar.gz  _site_/ --exclude=TYPO3.CMS
 +
</source>
 +
 +
* am besten mit phpmyadmin auch noch mal die datenbank live und dateienverzeichnis kopieren, spart arbeit beim zurück spielen
 +
 +
==== upgrade ====
 +
<source lang=bash>
 +
wget get.typo3.org/x.y -O typo3_src-x.y.tar.gz
 +
tar -xzf typo3_src-x.y.tar.gz
 +
mv typo3_src_old
 +
ln -s typo3_src-x.y.z typo3_src
 +
</source>
 +
 +
* typo3 x.y runter laden
 +
* typo3 auf x.y verlinken
 +
<source lang=bash>typo3_src -> typo3_src-7.6.32/</source>
 +
* https://domain.tld/typo3/install
 +
** alle Upgrade Wizard durch machen
 +
*** und was sich sonst noch anbietet
 +
 +
==== für den Umzug exportieren ====
 +
<source lang=bash>
 +
mysqldump --single-transaction --default-character-set=utf8 -u _username_ -p _databasename_ > mysql.typo3.76.yyyymmdd.sql
 +
</source >
 +
 +
=== auf dem neuen Server ===
 +
 +
==== Datenbank  ====
 +
* Datenbank erstellen
 +
<source lang="bash">
 +
cd /var/www/_site_
 +
cat typo3conf/LocalConfiguration.php  | grep "DB" -A 10
 +
mysql -u root -p
 +
</source>
 +
<source lang="sql">
 +
create database DATABASE;
 +
create user 'USERNAME'@'localhost' identified by 'PASSWORD';
 +
grant all on DATABASE.* to 'USERNAME'@'localhost';
 +
FLUSH PRIVILEGES;
 +
</source>
 +
 +
* Datenbank imporierten
 +
<source lang="bash">
 +
# import
 +
mysql -u _username_ -p _databasename_ < mysql.yyyymmdd.sql
 +
</source>
 +
 +
== typo3 7.6 nach 8.7 ==
 +
 +
=== Probleme ===
 +
 +
==== t3-8.7: The option $TYPO3_CONF_VARS[SYS][displayErrors] is not set to "-1", "0" or "1" ====
 +
 +
[proxy_fcgi:error] [pid 2607] [client 176.6.178.229:36660] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught RuntimeException: The option $TYPO3_CONF_VARS[SYS][displayErrors] is not set to "-1", "0" or "1". in typo3_src-8.7.32/typo3/sysext/core/Classes/Core/Bootstrap.php:660\nStack
 +
 +
* typo3conf/AdditionalConfiguration.php
 +
** displayErrors war 2
 +
<source lang=php>
 +
 +
}
 +
$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] = '1';
 +
echo '<h1>display: '.$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] .'</h1>';
 +
?>
 +
</source>
 +
 +
==== t3-8.7: Important actions - Database update failed - Error: Data truncated for column 'image', 'media' at row ====
 +
 +
Database analyzer
 +
Change fields
 +
<source lang=mysql>
 +
-- fehler meldungen weil zellen mit null voll sind
 +
ALTER TABLE `tt_content` CHANGE `image` `image` INT UNSIGNED DEFAULT 0 NOT NULL
 +
-- ERROR 1265 (01000): Data truncated for column 'image' at row 57
 +
ALTER TABLE `tt_content` CHANGE `media` `media` INT UNSIGNED DEFAULT 0 NOT NULL
 +
-- ERROR 1265 (01000): Data truncated for column 'media' at row 49
 +
 +
--
 +
select count(uid) from  tt_content where image is null;
 +
update tt_content set image='0' where image is null;
 +
 +
--
 +
select count(uid) from  tt_content where media is null;
 +
update tt_content set media='0' where media is null;
 +
</source>     
 +
danach gehts     
 +
 +
==== t3-8.7: MySQL database character set check failed | Checking database character set failed, got key "latin1" instead of "utf8" or "utf8mb4" ====
 +
 +
<source lang=mysql>
 +
mysql> ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
 +
</source >
 +
* https://jungle-tools.de/artikel?tx_news_pi1%5Baction%5D=detail&tx_news_pi1%5Bcontroller%5D=News&tx_news_pi1%5Bnews%5D=3&cHash=62424651abee7a121f09db5b998dc658
 +
 +
 +
 +
 +
== typo3 6.2 nach 7.6 ==
 +
 +
* alter Server
 +
** PHP 5.6
 +
** mysql 5.5
 +
* neuer Server
 +
** PHP 7.3
 +
** mysql 5.7
 +
 +
 +
=== Probleme ===
 +
 +
==== t3-7.6 TYPO3 Fatal Error: Extension key "cms" is NOT loaded ====
 +
 +
* https://docs.typo3.org/typo3cms/exceptions/main/en-us/Exceptions/1365429673.html
 +
 +
* speziell nach einem downgrade von 7.6 auf 6.2 ... auch wenn es nur so aussieht
 +
** backup zurück spielen .... vor allem die dateien
 +
 +
==== t3-7.6: It looks like the character set utf8 is not used for this connection even though it is configured as connection charset. This TYPO3 installation is using the $GLOBALS['TYPO3_CONF_VARS']['SYS']['setDBinit'] property with the following value: "utf8". Please make sure that this command does not overwrite the configured charset. Please note that for the TYPO3 database everything other than utf8 is unsupported since version 4.7. ====
 +
 +
* typo3_src/typo3/sysext/core/Classes/Database/DatabaseConnection.php
 +
<source lang=php>
 +
                }
 +
            }
 +
//            $this->checkConnectionCharset();
 +
        } else {
 +
            // @todo This should raise an exception. Would be useful especially to work during installation.
 +
 +
</source>
 +
** https://github.com/FriendsOfTYPO3/typo3db_legacy/issues/16
 +
 +
 +
==== t3-7.6: PHP Fatal error:  Class 't3lib_error_ErrorHandler' not found in GeneralUtility.php ====
 +
 +
* typo3_src-9.5.31/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3692
 +
* typo3_src-8.7.32/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3975
 +
* typo3_src-7.6.32/typo3/sysext/core/Classes/Utility/GeneralUtility.php on line 4569
 +
 +
* typo3/sysext/core/Classes/Utility/GeneralUtility.php anpassen
 +
<source lang=php>
 +
    protected static function instantiateClass($className, $arguments)
 +
    {
 +
// @nc workarround ErrorHandler BOF       
 +
        if($className == 't3lib_error_ErrorHandler') {
 +
                $className = 'TYPO3\CMS\Core\Error\ErrorHandler';
 +
        }
 +
// @nc workarround ErrorHandler EOF     
 +
        switch (count($arguments)) {
 +
 +
</source>
 +
 +
==== The package "yag_theme_perfectlightbox" depends on "perfectlightbox" which is not present in the system. ====
 +
 +
* alle extensions auf den neusten stand bringen, deinstallieren und neuinstallieren
 +
** https://extensions.typo3.org/extension/perfectlightbox
 +
** https://extensions.typo3.org/extension/yag
 +
** https://extensions.typo3.org/extension/t3jquery
 +
** https://extensions.typo3.org/extension/pt_extbase
 +
** https://extensions.typo3.org/extension/pt_extlist
 +
** https://extensions.typo3.org/extension/yag_theme_perfectlightbox
 +
 +
* yag_theme_perfectlightbox
 +
** cat yag_theme_perfectlightbox/ext_emconf.php
 +
<source lang=php>
 +
                'depends' =>
 +
                array (
 +
                        // 'typo3' => '4.5.0-6.2.99',
 +
                        'typo3' => '4.5.0',
 +
                        // ....
 +
                ),
 +
</source>
 +
 +
==== Core: Error handler (FE): PHP Catchable Fatal Error: Argument 2 passed to tx_simulatestatic::hookCheckAlternativeIDMethods() must be an instance of tslib_fe, instance of TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController class.tx_simulatestatic.php line 193  ====
 +
 +
install https://extensions.typo3.org/extension/compatibility6
 +
 
== typo3 4.6 nach 6.2 ==
 
== typo3 4.6 nach 6.2 ==
 +
* http://wiki.typo3.org/Upgrade#Upgrading_to_6.2_Long_Term_Support
 +
* http://docs.typo3.org/typo3cms/InstallationGuide/Upgrade/Index.html
 +
=== install backend ===
 +
 +
==== Komisch ====
 +
gibt ne fehlermeldung im error.log .... anzeige zeigt aber positives ergebnis
 +
[error] File does not exist: typo3temp/ExtensionCompatibilityTesterErrors.json, referer: typo3/sysext/install/Start/Install.php?install[action]=importantActions&install[context]=standalone&install[controller]=tool
 +
===== Check for broken extensions =====
 +
  
 
=== Incompatible extension found! TYPO3 CMS 6.2.10 ===  
 
=== Incompatible extension found! TYPO3 CMS 6.2.10 ===  
Zeile 6: Zeile 208:
 
* tt_address
 
* tt_address
 
* t3blog
 
* t3blog
 +
 +
==== inkokmpatibel aber nicht automatisch gefunden  ====
 +
* Media (DAM) dam
 +
** http://www.elp.co.at/2015/01/16/migration-typo3-4-5-4-6-4-7-to-typo3-6-2-lts-dam-to-fal-2/
  
 
=== problematische Extensions ===
 
=== problematische Extensions ===
Zeile 20: Zeile 226:
 
nicht unbedingt getestet!!!  
 
nicht unbedingt getestet!!!  
  
* static_info_tables
+
* static_info_tables (update skript)
 
* pagebrowse
 
* pagebrowse
 
* realurl
 
* realurl
* tq_seo
+
* tq_seo (update skript)
 +
 
 +
* news
 +
** irgendwie fehlen die Kategorien
 +
 
 +
== weiteres ==
 +
=== Dateirechte setzen ===
 +
<source lang=bash>
 +
chmod 2775 ./
 +
chmod 2775 ./typo3temp/
 +
chmod 2775 ./typo3temp/_processed_
 +
chmod 2775 ./typo3temp/compressor/
 +
chmod 2775 ./typo3temp/cs       
 +
chmod 2775 ./typo3temp/GB
 +
chmod 2775 ./typo3temp/llxml/
 +
chmod 2775 ./typo3temp/locks/
 +
chmod 2775 ./typo3temp/pics/
 +
chmod 2775 ./typo3temp/sprites/
 +
chmod 2775 ./typo3temp/temp/ 
 +
chmod 2775 ./typo3conf/   
 +
chmod 2775 ./typo3conf/ext
 +
chmod 2775 ./typo3conf/l10n/
 +
chmod 2775 ./uploads/     
 +
chmod 2775 ./uploads/media/
 +
chmod 2775 ./uploads/pics/
 +
chmod 2775 ./fileadmin/ 
 +
chmod 2775 ./fileadmin/_temp_/
 +
chmod 2775 ./fileadmin/user_upload/
 +
 
 +
 
 +
</source>

Aktuelle Version vom 16. April 2024, 15:32 Uhr

https://jweiland.net/typo3-cms/versionen-und-updates.html

Inhaltsverzeichnis

standard prozedure

auf dem alten Server

  • alle möglichen caches löschen
  • sämtliche tests mal machen
  • noch mal alle möglichen caches löschen

Backup Machen

  • bash
cd /var/www/_site_
cat typo3conf/LocalConfiguration.php  | grep "DB" -A 10
# export
mysqldump --single-transaction --default-character-set=utf8 -u _username_ -p _databasename_ > mysql._databasename_.xy.yyyymmdd.sql
#
cd ..
tar -czvf _site_xy.yyyymmdd.tar.gz  _site_/ --exclude=TYPO3.CMS
  • am besten mit phpmyadmin auch noch mal die datenbank live und dateienverzeichnis kopieren, spart arbeit beim zurück spielen

upgrade

wget get.typo3.org/x.y -O typo3_src-x.y.tar.gz 
tar -xzf typo3_src-x.y.tar.gz
mv typo3_src_old
ln -s typo3_src-x.y.z typo3_src
  • typo3 x.y runter laden
  • typo3 auf x.y verlinken
typo3_src -> typo3_src-7.6.32/

für den Umzug exportieren

mysqldump --single-transaction --default-character-set=utf8 -u _username_ -p _databasename_ > mysql.typo3.76.yyyymmdd.sql

auf dem neuen Server

Datenbank

  • Datenbank erstellen
cd /var/www/_site_
cat typo3conf/LocalConfiguration.php  | grep "DB" -A 10
mysql -u root -p
create database DATABASE;
create user 'USERNAME'@'localhost' identified by 'PASSWORD';
grant all on DATABASE.* to 'USERNAME'@'localhost';
FLUSH PRIVILEGES;
  • Datenbank imporierten
# import
mysql -u _username_ -p _databasename_ < mysql.yyyymmdd.sql

typo3 7.6 nach 8.7

Probleme

t3-8.7: The option $TYPO3_CONF_VARS[SYS][displayErrors] is not set to "-1", "0" or "1"

[proxy_fcgi:error] [pid 2607] [client 176.6.178.229:36660] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught RuntimeException: The option $TYPO3_CONF_VARS[SYS][displayErrors] is not set to "-1", "0" or "1". in typo3_src-8.7.32/typo3/sysext/core/Classes/Core/Bootstrap.php:660\nStack 
  • typo3conf/AdditionalConfiguration.php
    • displayErrors war 2
}
$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] = '1';
echo '<h1>display: '.$GLOBALS['TYPO3_CONF_VARS']['SYS']['displayErrors'] .'</h1>';
?>

t3-8.7: Important actions - Database update failed - Error: Data truncated for column 'image', 'media' at row

Database analyzer Change fields

-- fehler meldungen weil zellen mit null voll sind 
ALTER TABLE `tt_content` CHANGE `image` `image` INT UNSIGNED DEFAULT 0 NOT NULL
-- ERROR 1265 (01000): Data truncated for column 'image' at row 57
ALTER TABLE `tt_content` CHANGE `media` `media` INT UNSIGNED DEFAULT 0 NOT NULL
-- ERROR 1265 (01000): Data truncated for column 'media' at row 49

--
select count(uid) from  tt_content where image is null;
update tt_content set image='0' where image is null;

--
select count(uid) from  tt_content where media is null;
update tt_content set media='0' where media is null;

danach gehts

t3-8.7: MySQL database character set check failed | Checking database character set failed, got key "latin1" instead of "utf8" or "utf8mb4"

mysql> ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;



typo3 6.2 nach 7.6

  • alter Server
    • PHP 5.6
    • mysql 5.5
  • neuer Server
    • PHP 7.3
    • mysql 5.7


Probleme

t3-7.6 TYPO3 Fatal Error: Extension key "cms" is NOT loaded

  • speziell nach einem downgrade von 7.6 auf 6.2 ... auch wenn es nur so aussieht
    • backup zurück spielen .... vor allem die dateien

t3-7.6: It looks like the character set utf8 is not used for this connection even though it is configured as connection charset. This TYPO3 installation is using the $GLOBALS['TYPO3_CONF_VARS']['SYS']['setDBinit'] property with the following value: "utf8". Please make sure that this command does not overwrite the configured charset. Please note that for the TYPO3 database everything other than utf8 is unsupported since version 4.7.

  • typo3_src/typo3/sysext/core/Classes/Database/DatabaseConnection.php
                }
            }
//            $this->checkConnectionCharset();
        } else {
            // @todo This should raise an exception. Would be useful especially to work during installation.


t3-7.6: PHP Fatal error: Class 't3lib_error_ErrorHandler' not found in GeneralUtility.php

  • typo3_src-9.5.31/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3692
  • typo3_src-8.7.32/typo3/sysext/core/Classes/Utility/GeneralUtility.php:3975
  • typo3_src-7.6.32/typo3/sysext/core/Classes/Utility/GeneralUtility.php on line 4569
  • typo3/sysext/core/Classes/Utility/GeneralUtility.php anpassen
    protected static function instantiateClass($className, $arguments)
    {
// @nc workarround ErrorHandler BOF        
        if($className == 't3lib_error_ErrorHandler') {
                $className = 'TYPO3\CMS\Core\Error\ErrorHandler';
        }
// @nc workarround ErrorHandler EOF       
        switch (count($arguments)) {

The package "yag_theme_perfectlightbox" depends on "perfectlightbox" which is not present in the system.

  • yag_theme_perfectlightbox
    • cat yag_theme_perfectlightbox/ext_emconf.php
                'depends' => 
                array (
                        // 'typo3' => '4.5.0-6.2.99',
                        'typo3' => '4.5.0',
                        // .... 
                ),

Core: Error handler (FE): PHP Catchable Fatal Error: Argument 2 passed to tx_simulatestatic::hookCheckAlternativeIDMethods() must be an instance of tslib_fe, instance of TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController class.tx_simulatestatic.php line 193

install https://extensions.typo3.org/extension/compatibility6

typo3 4.6 nach 6.2

install backend

Komisch

gibt ne fehlermeldung im error.log .... anzeige zeigt aber positives ergebnis

[error] File does not exist: typo3temp/ExtensionCompatibilityTesterErrors.json, referer: typo3/sysext/install/Start/Install.php?install[action]=importantActions&install[context]=standalone&install[controller]=tool
Check for broken extensions

Incompatible extension found! TYPO3 CMS 6.2.10

  • tt_news
  • tt_address
  • t3blog

inkokmpatibel aber nicht automatisch gefunden

problematische Extensions

ty_seo bzw tq_seo

[error]  PHP Fatal error:  require_once(): Failed opening required 'typo3/interfaces/interface.backend_cacheActionsHook.php' (include_path='typo3/contrib/pear/:.:/usr/share/php:/usr/share/pear') in typo3conf/ext/tq_seo/hooks/sitemap/class.cache_controller_hook.php on line 261
  • ergibt einen FATAL Error ... .sprich nur install seite funzt, backend und frontend nicht ....
    • damit das backend wieder funktioniert muss in typo3conf/ext/tq_seo/hooks/sitemap/class.cache_controller_hook.php Zeile 26 das require_once auskommentiert werden!!


extensions die im nachhinein geupdated werden können

nicht unbedingt getestet!!!

  • static_info_tables (update skript)
  • pagebrowse
  • realurl
  • tq_seo (update skript)
  • news
    • irgendwie fehlen die Kategorien

weiteres

Dateirechte setzen

chmod 2775 ./ 
chmod 2775 ./typo3temp/
chmod 2775 ./typo3temp/_processed_
chmod 2775 ./typo3temp/compressor/
chmod 2775 ./typo3temp/cs         
chmod 2775 ./typo3temp/GB
chmod 2775 ./typo3temp/llxml/
chmod 2775 ./typo3temp/locks/
chmod 2775 ./typo3temp/pics/
chmod 2775 ./typo3temp/sprites/
chmod 2775 ./typo3temp/temp/   
chmod 2775 ./typo3conf/     
chmod 2775 ./typo3conf/ext
chmod 2775 ./typo3conf/l10n/
chmod 2775 ./uploads/       
chmod 2775 ./uploads/media/
chmod 2775 ./uploads/pics/ 
chmod 2775 ./fileadmin/   
chmod 2775 ./fileadmin/_temp_/
chmod 2775 ./fileadmin/user_upload/