我按照官方指南将项目从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
我几乎迷失了方向,不知道要开始解决这个问题-非常感谢您的帮助
答案 0 :(得分:1)
像这样的问题通常源于RTE字段中的URL损坏,如错误输出所示:
文件../disclaimer_de.html无效(路径中不允许使用“ ..”和“ //”)
在这种情况下,您应该手动准备数据库并运行SQL语句,以替换所有受影响记录中已损坏/过时的../
前缀。查询示例:
UPDATE tt_content
SET bodytext = REPLACE(bodytext, 'href="../', 'href="');
WHERE bodytext LIKE '%href="../';
请注意,此查询是非常的基础知识,可能会破坏您的数据,因此请确保首先运行一些SELECT
语句以确保没有中断。另外,还要保留数据库的备份。