gpt4 book ai didi

typo3 - 如何将 TYPO3 4.5 升级到 6.2

转载 作者:行者123 更新时间:2023-12-02 06:12:24 27 4
gpt4 key购买 nike

将 TYPO3 4.5(或 6.1)升级到 6.2 的推荐步骤是什么?我有一台 mac,我的网站在一个共享的 Linux 帐户上运行。

最佳答案

这是我想分享的升级实践的分步指南。感谢有关 https://jweiland.net/typo3/vortraege/typo3camp-berlin-2014.html 的指南对我帮助很大。

请注意,这些是我的个人经验,可能适用于您的环境,也可能不适用于您的环境。认真对待一切。

我区分“快速”和“长期”升级。使用“长”升级,您进行两次升级。首先,您升级实时站点的副本,使所有扩展和模板工作,当您准备好时,您声明内容卡住,使用在第一步中修改的文件重新进行升级。对于“快速”升级,您立即声明内容卡住,进行升级和测试,然后直接部署到测试或实时环境。

在本地设置站点

  • 当您准备好卡住内容 ( BE][adminOnly] = 0 ) 时,不要忘记检查该站点是否有用户贡献的内容?如果是这样,要么禁用提交它的可能性,要么记下启用升级站点后必须重新导入的表。

  • Hint: Work locally. I can only refer to using MAMP Pro (be sure to get the pro version) on a mac. Always be aware on which site (and with which DB) you are working, btw! And attention: OS X file system is case insensitve, which can be a bummer when deploying to Linux (see below). For the database administration, I prefer http://www.sequelpro.com/ to phpMyAdmin for most tasks. It's very handy to make backups or to quickly browse tables, although it has a few missing features in comparison with phpMyAdmin. It is also extremely reliable for importing dbs onto a live server - where phpMyAdmin can stall often.


  • 如果设置了 [SYS][UTF8filesystem],请注意:通过 Coda 或 Transmit(尚未测试 Cyber​​duck)等流行 (S)FTP 客户端将文件传输到 OS X 可能会损坏包含 UTF-8 文件名的文件名。因此,当您部署时,指向此类文件的所有链接都将无效。在传输或使用 scp 之前将它们打包到存档中。首先避免设置。
  • 创建本地 TYPO3 实例。如果您将“旧”和"new"核心保留在同一位置,则很实用,这样您就可以通过符号链接(symbolic link)轻松地在它们之间切换。创建并连接本地数据库。

  • Hint: If you're working on MAMP, you'll have to chown all the files (except templates and config files of your apps (like Sublime)) to _www:_www. I have found it useful to define some aliases for the sudo chown in ~/.bash_profile, like alias chownmamp="sudo chown -R _www:_www ." and vice versa to your own user. Another possibility might be to temporarily chmod 777 everything - when deploying, taking extra care this is removed (find . -type f -exec chmod 644 {} \;find . -type d -exec chmod 755 {} \;)


  • 复制站点和数据库以保留未升级的版本以进行比较 - 即使您已部署
  • 初始化一个本地git repo,不要忘记为临时数据添加.gitignore。不时 promise !

  • Hint: If you use different hostnames for your local and the live site, replace them where needed. For the command line, I have found grep -rl 'www.site.ch' ./ | xargs sed -i 's/www.site.ch/www.localsite.dev/g' useful. But of course you can do that in your IDE or editor too. Don't forget to check realurl_conf.php and .htaccess too. For a quick run, it is also possible to use the real hostnames, so you don't have to replace anything (but won't be able to compare sites from the same machine).


  • 您现在应该可以登录后端并登录安装工具

  • Hint: On MAMP, I've had issues with $TYPO3_CONF_VARS['BE']['warning_email_addr'] which prevented logging into the install tool with an error 500, as it couldn't sent the email. Remove that setting in localconf.php for the local upgrade if it happens.



    准备升级
  • 备份文件和数据库。 (稍后也进行频繁的数据库转储)
  • 重要提示: 安装工具 > 数据库分析器 > 清除表:清除所有缓存、日志,以及历史数据(如果你没问题的话)。数据库越小,升级就越顺利。
  • 使前端运行。
  • 另外,请确保您有管理面板。覆盖TYPO3缓存和调试性能瓶颈非常有帮助。此外,您可以在每次重新加载时可靠地强制 TS 渲染。在页面 TS 中设置 config.admPanel = 1,通过 admPanel=1 在您的管理员用户的 TS 中启用它,并使用您将查看 FE 的域登录。 adminPanel 仅在您登录到该域时才会显示!当您在那里时,还将 options.clearCache.system = 1 添加到管理员的 TS,这样您也可以在生产模式下清除系统缓存。
  • 安装 http://typo3.org/extensions/repository/view/smoothmigration 并运行。修复您现在可以修复的问题,例如数据库中的 UTF8 问题。复制剩余的报告并将其保存在 word 文件或类似文件中 - 升级后您无法再运行 Smoothmigration
  • 通过所有扩展。我们真的需要它们吗?您可以了解某个插件是否与(例如)SELECT * FROM tt_content WHERE list_type = 'news_pi1' 一起使用,或者通过查看 tt_content 中的所有 cType = 'list' 条目。如果不使用它,也考虑删除扩展。或者它可以被更好的扩展替换,或者手动/通过 tt_content 重新构建? (例如旋转木马,我宁愿不必为此保持扩展。但请检查预算!一切都需要时间。
  • 我去掉了 indexed_search ,因为 ke_search 是一个非常可靠的替代方案,可以快速设置。

  • Hint: with FAL, the _cli_scheduler user needs rights for every file mount you want to index with ke_search, else the indexing via scheduler will fail.


  • 主要任务: 检查扩展更新。如果有兼容的扩展更新可用,请执行此操作。但首先检查它是否适用于旧网站和新网站:http://typo3.org/extensions/repository/view/realurl:This version works for TYPO3 4.5.0 - 6.2.999 - 如果没有,请不要更新。
  • 一定要去掉realurl_clearcache,TER版本会在6.2上崩溃
  • 完成删除后,卸载所有剩余的本地扩展。您不必卸载 sysexts。
  • typo3conf/ext 我们现在将有一个很短的扩展列表。那很好!
  • 备份数据库并在安装工具中进行数据库比较。注意:不要触摸稍后导入所需的扩展数据(tt_news、powermail、dam)。如果您敢,您可以重命名或删除其他 100% 过时的数据。
  • 研究 BE 中的“报告”模块并采取建议的操作
  • 如果您有耐心,请检查站点上是否有损坏的链接 - 它们在转换为 FAL 时可能会出现问题。
  • 是否有可以确定删除的内容/页面? (例如,古老的测试页、副本等?)如果你敢的话,删除它。
  • 不要忘记: 递归地清空所有页面的垃圾箱(模块“垃圾箱”)。无需迁移已删除的内容。参见https://forge.typo3.org/issues/62360 一次删除多个项目
  • 重要提示: 更新引用索引(在“DB Check”模块中)。在升级之前它必须是完美的。
  • 进行备份...再次

  • 进行升级
  • -> 将内核切换到 6.2
  • 重新加载后端,您将进入安装工具。要连接到数据库,您可能必须输入“localhost”而不是 127.0.0.1 作为预填充的
  • 安装工具:检查文件夹结构和系统环境,使其全部绿色。阅读系统环境直到底部:“红色”项目在顶部,但“蓝色”项目(推荐)在底部(例如,缺少系统区域设置,如果您使用 UTF8 文件系统,则需要)。

  • Hint: don't be too eager with APC, the availability check in 6.2 isn't perfect, cf. https://forge.typo3.org/issues/64030 (you can't use it if your shared hosting relies on suPHP).


  • 安装工具:运行第一个向导。只是第一个。暂时不要运行“将启用 RTE 的字段的所有文件链接迁移到 FAL”。
  • 重要提示: 以管理员身份登录后端。转到文件列表,必要时刷新文件树。现在在它的设置中将文件挂载(fileadmin ...)设置为“使用区分大小写的标识符”。否则,您可能会在 sys_file 中以小写形式结束所有文件名,这在 live linux 系统上不起作用。
  • 另外,在调度器中运行任务 File Abstraction Layer: Update storage index 并更新引用索引。
  • 安装工具:完成其余的升级向导。要调试无法迁移的损坏链接,请使用 https://forge.typo3.org/issues/64122 (6.2.10 up)
  • 中的解决方法

    Hint: If something doesn't seem to be complete after all wizards went through, you can re-enable the upgrade wizards in LocalConfiguration.php under ['INSTALL']['wizardDone']. (Like if the whole sys_file_reference table empty and there are no images in tt_content table - remove the line for TceformsUpdateWizard, so it can run again).


  • 重要提示: 安装工具:所有配置:停用内容适配器!否则,您将在一种缓慢的兼容模式下运行,而不是真正进行整个升级。
  • 检查“报告”。把一切都变成绿色!
  • 安装工具:检查图像渲染(我更喜欢GD),设置拟合配置预设

  • Hint: Check typo3conf/AdditionalConfiguration.php and make sure there are no values in it that override values from LocalConfiguration.php. I've had this on a 6.1->6.2 upgrade, and thus was unable to enable error logs (the devIPmask was overridden all the time).


  • 主要任务: 更新和安装具有与旧核心不兼容的更新的扩展。

  • Hint: here are a few occasional replacements I had to make for 6.2 compatibility:


    require_once(PATH_tslib . 'class.tslib_pibase.php‘);
    -> if (!class_exists('tslib_pibase')) require_once(PATH_tslib . 'class.tslib_pibase.php');

    require_once(PATH_t3lib . 'class.t3lib_scbase.php‘);
    -> require_once(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('backend'). 'Classes/Module/BaseScriptClass.php‘);

    t3lib_div::GPvar()
    -> \TYPO3\CMS\Core\Utility\GeneralUtility::_GP()

    mysql_num_rows($res)
    -> GLOBALS['TYPO3_DB']->sql_num_rows($res)

    t3lib_div::intInRange
    -> t3lib_utility_Math::forceIntegerInRange

    t3lib_div::view_array()
    -> t3lib_utility_Debug::viewArray

    t3lib_div::testInt
    -> t3lib_utility_Math::canBeInterpretedAsInteger

    编辑:更全面的列表在 https://github.com/FriendsOfTYPO3/compatibility6/blob/master/Migrations/Code/ClassAliasMap.php
  • 从 DAM 更新?使用 https://github.com/b13/t3ext-dam_falmigration ,在 Installation and Scheduler TaskUsage 之后。请注意,使用 MAMP,您必须从命令行运行 MAMP PHP,例如 /Applications/MAMP/bin/php/php5.5.18/bin/php ./typo3/cli_dispatch.phpsh extbase help
  • 将 tt_news 移动到 tx_news?我遇到了进口商的问题,其中并非所有翻译都被导入。现在有一个更新的版本。
  • 正在更新 Powermail?不错,有更新!谢谢!我也遇到了翻译问题。不过,在一种情况下,可以通过点击表单的“本地化”按钮来解决这些问题。
  • rlmp_tmplselector:使用 https://github.com/jweiland-net/rlmp_tmplselector/ 或将页面类型选择移动到核心的后端布局。

  • Hint: In the last case, take care, to select the page template in accordance to the selected BE Layout, never use .if, always use CASE. See With TYPO3 be_layout, how to choose frontend template correctly (performance-wise)?


  • 主要任务: 模板必须更新。只是一些事情:新的 IMAGE / FILES TSconfig.doctype=html5 (不是 html_5),将所有 HTML 对象替换为 TEXT 。使用 TypoScript Object Browser (TSOB) 至少检查 TS 中没有错误。
  • 如果您之前没有做过(“长时间”升级),请在扩展后安装扩展并修复必须修复的内容(谷歌错误)。如果需要,请手动安装 https://github.com/medialis/realurl_clearcache
  • 你使用imagemap_wizard吗? https://github.com/lorenzulrich/imagemap_wizard 并添加来自 https://forge.typo3.org/issues/58212
  • 的 css 修复

    Hint: Btw, extensions I use on all sites: realurl_clearcache, nc_staticfilecache, sourceopt, ke_search. On most sites (feature-based), of course: news, powermail.


  • 不要忘记: 检查非管理员用户的后端权限。可能需要为 FAL(文件抽象层)的表和字段添加权限。如果您必须修改内容,请使用模拟编辑器用户及早发现问题。
  • 通过“语言”模块更新翻译,因此编辑器将得到翻译的后端和扩展

  • Hint: Also make sure that the "page tree rights" group is properly set up, cf http://typo3.uni-koeln.de/typo3-admin-access-default.html?&L=0


  • 包含特殊字符(如变音符号)的文件名可能会出现问题,有时会导致文件链接损坏(我使用 Integrity or Scrutiny for mac 来检查整个站点),有时只会出现丑陋的文件名。如果需要,手动检查和处理(如果 FAL 有效,您可以在后端重命名它们)。

  • Hint: Here's a snippet I add to all user's userTSConfig.


  • 遍历所有内容。如果你有时间和预算,让网站变得更好,使用 webpagetest.org 来发现性能漏洞,清理 .htaccess,合并 Assets ,在管理工具中检查页面渲染时间,更新前端依赖项,检查 404 处理,移动模板到typo3conf/ext/templates(最好搜索替换数据库转储中的所有路径!),整理用户和组,将所有模板从数据库移动到包含,清理模板结构等 - 这一切都取决于您的时间可用于该站点。
  • 进行备份。再次。

  • 测试和部署
  • 在实时服务器上测试!或者,如果它不是一个能够承受一些停机时间的高知名度站点,只需上线,将文件(没有typo3temp)和数据库移动到服务器,设置符号链接(symbolic link),清除所有缓存等。
  • 在live系统上,检查安装工具。可能您必须调整一些 php.ini 设置。并将配置预设设置为“生产”。
  • 重建引用索引
  • 检查“报告”。关于区分大小写的问题,您现在可能会在此处看到缺少的引用 - 您在 Mac 上没有看到这些,因为您的文件系统不区分大小写。此外,您可以查询 sys_file 以获取 missing = 1 。您可以在本地重新运行上面提到的调度程序 FAL 任务,以查看它可以修复某些文件名。如果没有其他方法,您仍然可以将所有文件重命名为小写,参见。 How do I rename all files to lowercase?
  • 检查 cronjobs 和调度程序任务(也转到调度程序模块中的“检查配置”,查看 cli 用户是否存在)。啊,还要看看您是否正在运行当前的 php 版本。还要检查您是否禁止谷歌抓取 robots.txt
  • 中的实时版本
  • 是否需要配置一些备份程序或更新脚本?现在做。
  • 如果它还没有工作,请不要 panic 。可能只是缓存。或者是其他东西。
  • 站点运行一段时间后,运行另一个 dbcomp 并删除所有旧表。
  • 等等。我忘记了什么?以后会补充的。
  • 关于typo3 - 如何将 TYPO3 4.5 升级到 6.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675796/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com