【问题标题】:TYPO3 Bootstrap Package Error: ContainerContextProcessor $pid must be of type int, string givenTYPO3 引导程序包错误:ContainerContextProcessor $pid 必须是 int 类型,字符串给定
【发布时间】:2022-12-14 17:58:25
【问题描述】:

我正在使用 ddev 在本地开发一个 TYPO3 站点,一切正常。当我将更改推送到实时服务器时,我得到了this Error Message

BK2K\BootstrapPackage\DataProcessing\ContainerContextProcessor::getPageRecords(): Argument #2 ($pid) must be of type int, string given, called in /var/home/derkreiger_at/amitex/releases/6/public/typo3conf/ext/bootstrap_package/Classes/DataProcessing/ContainerContextProcessor.php on line 37

如果我停用所有内容元素,一切都在“工作”..除了导航和页脚之外什么都没有显示,但也没有错误消息。

如果我在文件中手动将 pid 转换为 int,则页面显示正常。但是我为什么要更改这个文件呢?在本地一切正常。我真的不明白。 我还尝试通过 print_r 和 echo 在本地调试 pid,但没有任何显示。在服务器上 print_r 和 echo 正在工作。

我真的很感激任何帮助!如果需要更多信息,我肯定会发布。我对 stackoverflow 有点陌生,所以如果没有提供所有信息,我很抱歉。

谢谢,我的

编辑:我刚刚看到我在其他地方也有 pid 字符串问题

FriendsOfTYPO3\TtAddress\Hooks\Tca\Label::getConfiguration(): Argument #1 ($pid) must be of type int, string given, called in /var/home/derkreiger_at/amitex/releases/6/public/typo3conf/ext/tt_address/Classes/Hooks/Tca/Label.php

【问题讨论】:

    标签: typo3 bootstrap-5 typo3-11.x


    【解决方案1】:

    也许你在你的实时数据库中启用了 MySQL 严格模式,而不是在本地

    【讨论】:

    • 我只是在本地检查了sql模式并进行了直播。这是我在本地得到的:'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE' 这个直播:'ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' 你知道我是否应该也打开严格模式直播吗?
    【解决方案2】:

    我解决了这个问题。我切换回 mysqli 而不是 pdo_mysqli。我又遇到了另一个错误,找不到一些 php mysqli 常量。这是由于我非常具体的托管服务提供商 (domaintechnik) 不支持 TYPO3 与 php 8.1。所以我将 php 版本切换回 8.0,一切正常。 希望这对某人有帮助。

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 1970-01-01
      • 2021-10-19
      • 2022-08-09
      • 2023-02-03
      • 2018-04-24
      • 2019-12-24
      • 1970-01-01
      • 2016-11-13
      相关资源
      最近更新 更多