TYPO3升级向导在DatabaseRowsUpdateWizard上失败

时间:2019-05-02 08:31:57

标签: typo3 typo3-7.6.x typo3-8.x

我按照官方指南将项目从TYPO3 7.6更新为^ 8。最新的步骤是作曲家更新。我删除了与^ 8不兼容的扩展程序/软件包,并更新了可用于^ 8的扩展程序/软件包。我无法访问安装工具,TYPO3管理员后端和前端(有错误)。 所以我最后一步是应该使用安装工具提供的升级向导。我完成了几个向导,没有任何问题,但是遇到了一个不错的向导-首先,我尝试在安装工具中运行DatabaseRowsUpdateWizard,但是由于内存错误而失败-我尝试了

的cli方法
php -d memory_limit=-1 vendor/bin/typo3cms upgrade:wizard DatabaseRowsUpdateWizard

处理正常,但最终出现以下错误:

[ Helhum\Typo3Console\Mvc\Cli\FailedSubProcessCommandException ]


#1485130941: Executing command "upgrade:subprocess" failed (exit code: "1")
 thrown in file vendor/helhum/typo3-console/Classes/Install/Upgrade/UpgradeHandling.php
 in line 284

最初失败的命令是:

'/usr/bin/php7.2' 'vendor/bin/typo3cms' 'upgrade:subprocess' '--command' 'executeWizard' '--arguments' 'a:3:{i:0;s:24:"DatabaseRowsUpdateWizard";i:1;a:0:{}i:2;b:0;}'

这是子流程异常:

[ Sub-process exception: TYPO3\CMS\Core\Resource\Exception\InvalidPathException ]


#1320286857: File ../disclaimer_de.html is not valid (".." and "//" is not allowed in path).
 thrown in file typo3/sysext/core/Classes/Resource/Driver/AbstractHierarchicalFilesystemDriver.php
 in line 71

我几乎迷失了方向,不知道要开始解决这个问题-非常感谢您的帮助

1 个答案:

答案 0 :(得分:1)

像这样的问题通常源于RTE字段中的URL损坏,如错误输出所示:

  

文件../disclaimer_de.html无效(路径中不允许使用“ ..”和“ //”)

在这种情况下,您应该手动准备数据库并运行SQL语句,以替换所有受影响记录中已损坏/过时的../前缀。查询示例:

UPDATE tt_content
SET bodytext = REPLACE(bodytext, 'href="../', 'href="');
WHERE bodytext LIKE '%href="../';

请注意,此查询是非常的基础知识,可能会破坏您的数据,因此请确保首先运行一些SELECT语句以确保没有中断。另外,还要保留数据库的备份。