当前位置: 首页 > 知识库问答 >
问题:

从3.3更新到3.4时,未定义的类常量IGNORE_ON_UNINITIALIZED_REFERENCE

姬弘文
2023-03-14

我目前正在尝试将Symfony 3.3更新为最新的Symfony 3.4(将在支持耗尽之前将其移植到Symfony 4,但没有时间重写系统)和PHP 7。由于PHP 7.3似乎不太适用于3.4,所以我决定暂时继续使用PHP 7.2。

我更新了作曲家。json,运行composer安装(并使用依赖项更新)并清除缓存。然而,在composer内部的一切工作都完美无缺之后,我尝试访问系统,并收到以下消息:

致命错误:未捕获错误:在E:\XAMPP7\u 2\htdocs\wsm rando\vendor\symfony\symfony\src\symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\CachePoolPass中未定义的类常量“忽略\u对\u未初始化的\u引用”。php:93堆栈跟踪:#0 E:\XAMPP7#2\htdocs\wsm rando\vendor\symfony\symfony\src\symfony\Component\DependencyInjection\Compiler\Compiler。php(141):Symfony\Bundle\FrameworkBundle\DependencyInjection\Compiler\CachePoolPass-

有没有想过我该怎么解决这个问题?我确信我安装了一个错误的软件包或其他东西。这是作曲家。json供参考:

{
    "name": "symfony/framework-standard-edition",
    "license": "MIT",
    "type": "project",
    "description": "The \"Symfony Standard Edition\" distribution",
    "autoload": {
        "psr-0": { "": "src/", "SymfonyStandard": "app/" }
    },
    "require": {
        "php": ">=5.5.9",
        "symfony/symfony": "3.4.*",
        "doctrine/orm": "^2.5",
        "doctrine/doctrine-bundle": "^1.6",
        "doctrine/doctrine-cache-bundle": "^1.2",
        "symfony/swiftmailer-bundle": "~2.3",
        "symfony/monolog-bundle": "^3.1",
        "sensio/distribution-bundle": "^5.0",
        "sensio/framework-extra-bundle": "^3.0.2",
        "incenteev/composer-parameter-handler": "^2.0",
        "twig/extensions": "~1.0",
        "symfony/assetic-bundle": "~2.3",
    "faceleg/html5lib-php": "dev-master",
        "smalot/pdfparser": "*",
        "seostats/seostats": "dev-master",
        "nategood/httpful": "*",
        "twbs/bootstrap": "*",
        "friendsofsymfony/user-bundle": "2.0.*",
        "phpoffice/phpspreadsheet": "^1.1",
      "ext-json": "*"
    },
    "require-dev": {
        "sensio/generator-bundle": "^3.0"
    },
    "scripts": {
        "post-root-package-install": [
            "SymfonyStandard\\Composer::hookRootPackageInstall"
        ],
        "post-install-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ],
        "post-update-cmd": [
            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::removeSymfonyStandardFiles"
        ]
    },
    "config": {
        "bin-dir": "bin"
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web",
        "symfony-var-dir": "var",
        "symfony-bin-dir": "bin",
        "incenteev-parameters": {
            "file": "app/config/parameters.yml"
        },
        "branch-alias": {
            "dev-master": "2.5-dev"
        }
    }
}

共有1个答案

邹祺然
2023-03-14

我在Symfony开发人员Slack小组的帮助下解决了这个问题。事实证明,确实设置了常量,但是由于某些错误的缓存,它没有包含在运行时中。

要解决此问题,我必须手动删除缓存/prod缓存/dev文件夹,而不是使用bin/控制台缓存:清除命令。

 类似资料:
  • 使用以下代码,两个选项卡的内容将在tabChange事件中清除,而不是更新: onChange方法是空方法是我的测试代码。 我遗漏了一些东西,但我找不到什么。我做错了什么? 编辑 我正在使用ViewScope bean。 我尝试过,和,同样的问题也会出现。 如果我使用,一切都很好,但在我的onChange方法中,我希望以编程方式选择我想要激活的选项卡(在我的真实代码中有一种方法可以验证一些数据:如

  • 我们正在使用QAF进行功能测试自动化。我们最近从3.3升级了selenium版本。1至3.4。0,它在某些位置开始出现以下错误。 我的观察是,如果我们没有driver.findBy(BY)声明,它工作得很好。为了测试目的,我在一个地方尝试了driver.findBy(String)而不是driver.findBy(BY),它工作得很好。但是我不知道有多少地方团队使用了上述方法。 下面是重现错误的测

  • 这是customListAdapter的代码(在第一个链接之后) 在我的主要活动中,我这样调用自定义基适配器: (不能100%确定是我应该放在那里的id。

  • Rust 有两种常量,可以在任意作用域声明,包括全局作用域。这两种常量都要显式地标注: const: 不可改变的值(常用类型)。 static: 在 'static 生命周期内可能发生改变的变量。 有个特例就是 "string" 原始类型。可以给它直接赋一个不可改变的 static 变量,是因为它的 类型标记:&'static str 包含了生命周期 'static。其他的引用类型都必须特别注明从

  • 我正在尝试使用PHP7.2在Apache2.4中配置我的Laravel5.7,但是我得到了错误 未定义的类常量SQLSRV_ATTR_FETCHES_NUMERIC_TYPE 我已经将de PHP版本更改为7.1,将LoadModule php7_module“C:/Apache24/PHP/php7apache2_4.dll”AddHandler应用程序/x-httpd-PHP中的行放入其中。h

  • 更新后Android Studio 3.3到3.4它得到错误。它得到一个错误,是AAPT2和提供我一个建议我喜欢这个: 此版本中使用了不推荐的Gradle功能,使其与Gradle 6.0不兼容。使用“--warning mode all”显示单个弃用警告。看见 但它仍然不起作用。 错误: 这是一个构建。渐变文件: