如何激活扩展激活错误的 TYPO3 日志文件条目

问题描述 投票:0回答:1

我正在使用 TYPO3 12.4 Composer 安装,并在那里激活了扩展的开发版本,该扩展仍然存在错误并且尚未准备好使用。但我需要一个关于发生的错误的日志文件输出。

composer -v req jambagecom/party:dev-master

当我在使用扩展管理器的经典安装中执行相同操作时,我收到此错误:

(1/1) Error
Call to undefined method TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()
in /var/www/html/globale_extensions/party/ext_localconf.php line 16

    define('PATH_BE_PARTY', ExtensionManagementUtility::extPath('party'));
}

if (!defined('PATH_BE_PARTY_REL')) {
    define('PATH_BE_PARTY_REL', ExtensionManagementUtility::extRelPath('party'));
}

基于 Composer 的 TYPO3 网站没有显示任何错误。它只是在没有任何通知的情况下没有激活这个有缺陷的扩展。 我必须做什么才能在经典 TYPO3 网站的扩展管理器以及任何日志文件或其他地方的基于 Composer 的 TYPO3 网站中看到激活后生成的这些错误消息

composer-php typo3 logfile
1个回答
0
投票

首先,您所说的错误足以找到问题所在。

TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath()
在 TYPO3 v8.4 [1] 中已弃用,并在 TYPO3 v9 [2] 中删除(破坏)。

这仅仅意味着,

ext_localconf.php
中被调用的方法根本不再存在。你需要更换这个。

其次,如果早期的

ext_localconf.php
已完成并且所有扩展均已使用,则在 TYPO3 boostrap(FE、BE、CLI)期间使用
safe boot cycle
。 遗留(非 Composer)安装中的 ExtensionManger 会触发扩展激活/设置,因此会启动新的扩展内容,例如格式错误的配置,并且严重失败。

使用 TYPO3 v12.4,应“始终”启用 Composer 所需的扩展。一个 Composer 包被重新调整并用作 TYPO3 扩展,基本上需要存在 3 个东西:

  1. composer.json 必须存在且有效
  2. composer.json 需要一个类型为
    typo3-cms-extension
  3. 的类型条目
  4. composer.json 需要使用
    typo3-cms.extensionKey
    配置进行额外配置。

在非创作者模式下,所有上传的扩展/位于

typo3conf/ext/
中的扩展都是相当大的扩展(始终)。

在 packagist.org 上查找作曲家包名称,并跟踪 GitHub 存储库并查看

composer.json
3.
缺失,并且可以打赌,这就是它尚未启用为 TYPO3 扩展的原因,并且因此 TYPO3 永远不会接触、读取和执行
ext_localconf.php
。由于它没有运行,因此无法出现任何错误。就这么简单。

在作曲家模式下使用 TYPO3 v12.0,扩展不再符号链接到

public/typo3conf/ext/<extension-key>
,这使得检测它是否已正确重新调整变得有点困难。有人可以查找
PackageArtifact
文件(作曲家模式),无论是否有说明(应该丢失)。

由于 TYPO3 v9.0 已从核心中删除了缺失的类方法, 该扩展似乎确实已经过时了。我没有进一步检查存储库 - 因为可能隐藏着一大堆蠕虫,并且超出了在这里回答的可能性。

我建议您应该阅读并熟悉如何正确处理项目和扩展更新以及哪些资源是可用的。

例如,您确实应该考虑所有 TYPO3 变更日志,至少从 8.4 到 v12(这是一个非常非常大的步骤)。

在 TYPO3 扩展和项目生态系统中,相当多的辅助工具正在运行,它们可以支持在尝试将扩展安装到

running
实例之前使扩展成形。如果扩展已安装并处于活动状态,TYPO3 扩展扫描程序就会启动,所以我想对您没有多大帮助。您还可以尝试
Admin Tool -> Upgrade
部分中的部分:

  • 检查是否有损坏的扩展
  • 检查 ext_tables.php 中的 TCA
  • 检查 TCA 迁移
  • 扫描扩展文件

扩展扫描器也作为 TYPO3 社区提供的独立工具存在(不是核心)。

我想,你会遇到很多东西,例如:

  • 定义('TYPO3_MODE')|| die() => 定义('TYPO3') ||死();在多个文件中
  • 在条件中使用 TYPO3_MODE 常量来注册东西条件基础,这也不再起作用
  • Extbase 持久化注册
  • 代码风格
  • 接口

作为一个基本的开始,一个纯粹的

php linting
可能是一个好的开始,至少可以首先找到 PHP 相关的问题(以致命错误结束)。 (一些 find 和 php 二进制命令魔法)。

此外,

rector/rector
(TYPO3 变体)用于帮助项目和扩展的升级。

将所有这些放在桌面上 - 尝试安装该扩展还为时过早。

© www.soinside.com 2019 - 2024. All rights reserved.