Doctrine2 更新导致 Zend Framework 3 中 AnnotationRegistry registerLoader 错误

2023-11-25

我正在开发一个基于 Zend Framework 3.0 的 CMS,用 Doctrine 管理 DB I。使用 Composer 管理包时遇到什么问题?最近,我将所有软件包更新到最新版本并将其发送到服务器,其他文件没有任何更改。更新后我的网站显示以下错误:

致命错误:未捕获类型错误:Doctrine\Common\Annotations\AnnotationRegistry::registerLoader() 的返回值必须是 Doctrine\Common\Annotations\void 的实例,/home/platne/serwer18346/vendor/doctrine/annotations/ 中没有返回lib/Doctrine/Common/Annotations/AnnotationRegistry.php:117 堆栈跟踪:#0 /home/platne/serwer18346/vendor/doctrine/doctrine-module/src/DoctrineModule/Module.php(57): Doctrine\Common\Annotations\ AnnotationRegistry::registerLoader(对象(闭包)) #1 /home/platne/serwer18346/vendor/zendframework/zend-modulemanager/src/Listener/InitTrigger.php(33): DoctrineModule\Module->init(Object(Zend\ModuleManager) \ModuleManager)) #2 /home/platne/serwer18346/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\ModuleManager\Listener\InitTrigger->__invoke(Object(Zend\ModuleManager\ModuleEvent)) #3 /home/platne/serwer18346/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\ModuleManager\ModuleEvent)) #4 /home/p在 /home/platne/serwer18346/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php 第 117 行

如果需要一些应用程序代码:
模块:

return [
    'Zend\Router',
    'Zend\Validator',
    'DoctrineModule',
    'DoctrineORMModule',
    'Core',
];

development.local(开发者模式处于活动状态):

'doctrine' => [
        'connection' => [
            'orm_default' => [
                'driverClass' => Doctrine\DBAL\Driver\PDOMySql\Driver::class,
                'params' => [
                    'host' => '******',
                    'user' => '*******',
                    'password' => '******',
                    'dbname' => '*******',
                    'charset' => 'utf8'
                ]
            ]
        ]
    ]

模块配置:

'doctrine' => [
        'driver' => [
            __NAMESPACE__ . '_driver' => [
                'class' => AnnotationDriver::class,
                'cache' => 'array',
                'paths' => [__DIR__.'/../src/Model']
            ],
            'orm_default' => [
                'drivers' => [
                    __NAMESPACE__ . '\Model' => __NAMESPACE__ . '_driver'
                ]
            ]
        ]
    ]

控制器工厂:

public function __invoke(ContainerInterface $container,$requestedName, array $options = null)
{
    $controllerInstance = null;
    switch($requestedName){
        case 'Core\Controller\IndexController': $controllerInstance = $this->_invokeIndex($container); break;
        case 'Core\Controller\PagesController': $controllerInstance = $this->_invokePages($container); break;
    }
    return $controllerInstance;
}

protected function _invokeIndex(ContainerInterface $container)
{
    return new Controller\IndexController(
        $container->get('doctrine.entitymanager.orm_default')
    );
}

protected function _invokePages(ContainerInterface $container)
{
    return new Controller\PagesController(
        $container->get('doctrine.entitymanager.orm_default')
    );
}

控制器父级:

 protected $_entityManager;

    /**
     * AppController constructor.
     * @param EntityManager $entityManager
     */
    public function __construct(EntityManager $entityManager)
    {
        $this->_entityManager = $entityManager;
    }

    /**
     * @return EntityManager
     */
    public function getEntityManager()
    {
        return $this->_entityManager;
    }

正如我所说,这段代码在更新之前有效。更新后它向我显示该错误,而且上传以前的版本后错误仍然存​​在。我尝试重写代码但效果相同。

作曲家(无项目数据):

"require": {
    "zendframework/zend-mvc": "*",
    "zendframework/zend-developer-tools": "*",
    "zendframework/zend-session": "*",
    "zendframework/zend-authentication": "*",
    "zfcampus/zf-development-mode": "*",
    "doctrine/doctrine-orm-module": "*"
  },
  "autoload": {
    "psr-4": {
      "Core\\": "module/Core/src/"
    }
  }

这个错误是由最新版本引起的Doctrine\Common\Annotations use PHP 7.1。这就是为什么它使用void as return type。 PHP 7.0.* 不支持它。这是PHP 7.1 中的新功能

I use doctrine-orm-module 1.1在我的 ZF3 项目中使用 PHP 7.0。而且效果很好。所以,只需更换你的doctrine-orm-module版本为1.1.

"doctrine/doctrine-orm-module": "^1.1"

我建议您定义在 Composer 中使用的依赖项的版本。这样做的目的是为了让您的项目在新版本的依赖项发布时不会被破坏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doctrine2 更新导致 Zend Framework 3 中 AnnotationRegistry registerLoader 错误 的相关文章

  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 未捕获的 ValueError:mysqli_stmt::execute():参数 #1 ($params) 必须是列表数组

    我试图通过这两个查询在我的数据库中插入准备好的语句多个值 这两个查询都发生故障 返回 未捕获的错误 调用未定义的方法 mysqli stmt bindValue 对于第一个代码或 未捕获的 ValueError mysqli stmt ex
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • PHP/MySQL:检索邻接列表模型中的单个路径

    有没有什么有效的方法可以在不限制深度的情况下根据节点的ID检索邻接列表模型中的单个路径 就像如果我有一个名为 Banana 的节点的 ID 我可以获得以下路径 Food gt Fruits gt Banana 如果不可能的话也不是什么大问题
  • PHP 警告 ZipArchive::extractTo():权限被拒绝

    我创建了一个应用程序 它使用 ZipArchive 类 php 中的标准 中的方法 extractTo 并在 Windows 7 上的本地主机 apache 服务器上对其进行了测试 没有任何问题 但是当我在一些unix生产服务器上尝试过它之
  • 配置 .htaccess 以在 PHP 框架 (Silex) 上工作

    我的 Apache2 本地主机 linux 上有一个工作路径 http localhost lab silex web index php hello name 我想成为 http localhost lab silex hello nam
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • 使用 php 将 HLS Segment (ts) 视频转换并加入到 mp4

    你好我正在使用这个工具 https github com Ejz HLSDownloader https github com Ejz HLSDownloader将 HLS 视频片段从 m3u8 播放列表下载到 ts 文件中 不 我不知道如
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 使用 DOM 获取 div 的内容(包括子标签)

    我正在使用 DOM 来获取 div 标签的内容 但内部 html 部分未显示 功能是 dom new DOMDocument libxml use internal errors true dom gt loadHTMLFile url l
  • 如何创建环境变量来保护我的网站的 Google 地图 API 密钥(或任何其他秘密值)?

    我正在学习使用 Bootstrap 编写自己的网站 并使用 Google 地图 API 密钥和 Google Developers 的脚本轻松地将地图放置在我的页面上 理想情况下 我会有类似的东西 即我已经尝试过这个 Html PHP
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 如何使用 PDO 动态构建查询

    我正在使用 PDO 并想做这样的事情 query dbh gt prepare SELECT FROM table WHERE column value query gt bindParam table tableName query gt
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容
  • PHP 中的嵌套 JSON 输出

    我正在为 iOS 应用程序构建 API 并尝试将 mySQL 数据转换为 JSON 字符串进行处理 所需的输出将需要顶级订单详细信息 例如客户名称和地址 然后是订购的产品子数组 我需要的两个表中有相当多的字段 我希望拥有所有字段 我已经构建
  • 如何显示不同页眉的页面? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在为我的学校项目开发网站 但我遇到了一个问题 我在每个页面上显示一个标题 我的标题之一包含登录表单 另一标题包含用户名 搜索栏等 问题是
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 仅限制一个方向的拖动

    Using jQuery 可拖动 如何限制可拖动对象被拖动只朝一个方向 即只有顶部或只有底部axis y 并且仅向左或仅向右时axis x 这意味着如果我想要一个可拖动的 with axis set to y 只能被拖到bottom 那么它
  • ES6 粗箭头和括号 `(...) => ({...})` [重复]

    这个问题在这里已经有答案了 我一直在研究一些 Graph QL React Relay 示例 但遇到了一些奇怪的语法 在 Graphql 对象中定义字段时 使用以下语法 const xType new GraphQLObjectType n
  • SQLModel:sqlalchemy.exc.ArgumentError:需要列表达式或 FROM 子句,

    我正在使用 SQLModel 库来做一个简单的select 就像他们官方网站上描述的那样 然而我得到了Column expression or FROM clause expected错误信息 from typing import Opti
  • iOS 5 阻止 ARC 桥接转换

    这个问题引用了这个问题 如何用Block简化回调逻辑 我的标头有这些 typedef typedef void StuffDoneBlock NSDictionary parsedData typedef void StuffFailedB
  • 在Python中获取处理器信息

    使用Python有什么方法可以找出处理器信息 我需要名称 我需要运行解释器的处理器的名称 我检查了sys模块 但它没有这样的功能 如果需要 我也可以使用外部库 The 平台 处理器 函数以字符串形式返回处理器名称 gt gt gt impo
  • LibGit2Sharp:签出远程分支

    我尝试通过 LibGit2Sharp 签出远程分支 在 git 本身中 您使用以下命令 git fetch origin git checkout b test origin test 在较新的版本中它只是 git fetch git ch
  • 单语句条件 - 为什么该模式不用于其他代码块?

    只是想看看是否有人可以解释为什么安德斯认为这是有效的 if single statement else single statement 但这不是 try single statement catch single statement 引用
  • 如何阻止 Chrome 重定向到 HTTPS?

    几天前 Chrome 开始将我在 Wampserver 中的所有 vHost 重定向到 https 一切都工作正常 直到几天前 然后有一天 我登录到我的网站上工作 Chrome 说无法访问该网站 即使我使用了过去经常使用的相同 URL Wa
  • 当一切完成后,Scraper 会抛出错误而不是退出浏览器

    我编写了一个抓取工具来解析来自 torrent 站点的电影信息 我用了IE and queryselector 我的代码确实解析了所有内容 当一切完成后 它会抛出错误而不是退出浏览器 如果我取消错误框 那么我可以看到结果 这是完整的代码 S
  • 不使用移动设备时如何禁用自定义 Angular/Ionic 页面转换

    我有一个 Angular Ionic 应用程序 可以在本机和 Web iPhone Android 和 Web 上运行 我设置了一个自定义页面过渡动画 它在移动设备上看起来不错 但在桌面等大屏幕上看起来很奇怪 所以我想禁用这些动画并进行传统
  • numpy 数组的列表索引中的多个切片

    Numpy 数组接受索引列表 例如 a np arange 1000 l list 1 44 66 33 90 345 a l 22 但是 例如 如果我们想要使用多个切片索引或索引加一个切片 则此方法不起作用 a np arange 100
  • 如何流式传输存储在谷歌云存储桶中的视频?

    我已将视频存储在谷歌云存储浏览器上 我想在我的前端播放这些视频 为此 我需要视频 URL 但问题是 每当我导航到该 URL 时 就会下载该文件 我需要做什么才能获取我存储的对象的流视频 URL 我使用 video js 完成了这个任务
  • 安装 Rcpp 时出现链接错误“找不到 -lintl 的库”

    我在尝试安装一些 R 软件包时偶然发现了链接器错误Rcpp作为依赖 我的设置是 Mac OS X 10 9 1 Mavericks 由 Homebrew 安装 R 3 0 2 这是错误输出 gt install packages Rcpp
  • UITableView的scrollToRowAtIndexPath在过去4年不起作用

    我在 UITableViewController 中 单元格内有文本字段 当用户单击文本字段时 我实现 UITextFieldDelegate 并在方法 textFieldDidBeganEditing 中确定单元格的索引并滚动到该位置 它
  • 如何获取 DOM 元素上所有可能的有效属性[重复]

    这个问题在这里已经有答案了 请注意 attributes只获取当前属性 这不是这个问题的目的 我想要一种方法来获得allDOM 元素的属性 不仅是现在的那些 还有未来可能的那些 具体用例是找到一个对象中的潜在属性SVGElement不在一个
  • Google Maps API InfoWindow 不显示内容

    我的代码如下所示 var map some google map defined earlier in the code var geocoder new google maps Geocoder var address Some Addr
  • PowerShell:可以确定文件的 MIME 类型吗?

    PowerShell 是否可以确定给定文件的类型 例如 如果我传递给它一条路径C Foo zip 我可以让它确定该路径上的文件实际上是一个 zip 文件而不是其他文件吗 如果您有 NET 4 5 则可以使用静态方法System Web Mi
  • 我可以为附加到 TextView 的每个文本行选择颜色吗?

    我有一个 TextView 用作蓝牙连接控制台 当我发送命令时 我希望它以某种颜色 例如青色 书写 并以不同的颜色 例如红色 收到答案 是否可以做到这一点 如果可以 如何做到 我读到可能可以使用 HTML 来实现 但我不太确定这是最好的方法
  • 如何使用 Karma 上的 Jasmine 将模拟依赖注入到角度指令中

    我有以下指令 function TopLevelMenuDirective userDetails configuration return restrict A templateUrl staticFilesUri templates T
  • Doctrine2 更新导致 Zend Framework 3 中 AnnotationRegistry registerLoader 错误

    我正在开发一个基于 Zend Framework 3 0 的 CMS 用 Doctrine 管理 DB I 使用 Composer 管理包时遇到什么问题 最近 我将所有软件包更新到最新版本并将其发送到服务器 其他文件没有任何更改 更新后我的