首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将cms命令行更新到3.5.12.1或更高版本失败

将cms命令行更新到3.5.12.1或更高版本失败
EN

Stack Overflow用户
提问于 2021-08-11 16:34:41
回答 1查看 301关注 0票数 0

我正在运行以下命令来更新update:

代码语言:javascript
复制
php craft update craft

但是,升级到版本3.5.12.1或更高版本失败,并显示以下错误:

代码语言:javascript
复制
Performing update with Composer ... done
Applying new migrations ... error: The command "'/var/www/craft' 'migrate/all' '--no-content'" failed.

Exit Code: 1(General error)

Working directory: /var/www

Output:
================


Error Output:
================
Error: array_merge(): Expected parameter 2 to be an array, null given


Output:

我正在运行的craft的当前版本是3.3.19,它运行在docker中,使用以下composer.json:

代码语言:javascript
复制
. . .
 "require": {
    "aelvan/craft-cp-element-count": "^v1.0.1",
    "aelvan/imager": "v2.3.0",
    "aelvan/inlin": "^2.1",
    "aelvan/preparse-field": "v1.1.0",
    "am-impact/amcommand": "^3.1.4",
    "angellco/portal": "1.1.3",
    "angellco/spoon": "3.3.7",
    "charliedev/element-map": "^1.2",
    "charliedev/section-field": "^1.1.0",
    "craftcms/aws-s3": "1.2.5",
    "craftcms/cms": "3.3.19",
    "craftcms/feed-me": "4.1.2",
    "craftcms/redactor": "2.4.0",
    "doublesecretagency/craft-inventory": "2.0.3",
    "doublesecretagency/craft-siteswitcher": "2.1.0",
    "ether/logs": "^3.0.3",
    "ether/sidebarentrytypes": "^1.0",
    "fruitstudios/linkit": "1.1.11",
    "hashtagerrors/user-initials-photo": "1.1.1",
    "lukeyouell/craft-queue-manager": "^1.1.0",
    "marionnewlevant/snitch": "3.0.0",
    "misterbk/mix": "^1.5",
    "mmikkel/child-me": "1.0.6",
    "mmikkel/cp-field-inspect": "1.0.7",
    "mmikkel/incognito-field": "1.1.1.1",
    "monachilada/craft-matrixtoolbar": "^1.0.6",
    "nfourtythree/entriessubset": "1.2.2",
    "nystudio107/craft-cookies": "^1.1",
    "nystudio107/craft-emptycoalesce": "1.0.6",
    "nystudio107/craft-imageoptimize": "1.6.4",
    "nystudio107/craft-minify": "^1.2.9",
    "nystudio107/craft-retour": "3.1.27",
    "nystudio107/craft-scripts": "^1.2.4",
    "nystudio107/craft-seomatic": "3.2.32",
    "nystudio107/craft-typogrify": "1.1.18",
    "nystudio107/craft-webperf": "1.0.14",
    "ostark/craft-async-queue": "2.0.0",
    "page-8/craft-manytomany": "1.0.2.2",
    "putyourlightson/craft-blitz": "2.3.4",
    "rias/craft-position-fieldtype": "^1.0.13",
    "rias/craft-width-fieldtype": "^1.0",
    "spicyweb/craft-embedded-assets": "2.1.1.1",
    "spicyweb/craft-fieldlabels": "1.1.7",
    "spicyweb/craft-neo": "2.5.7",
    "superbig/craft-entry-instructions": "1.0.6",
    "topshelfcraft/environment-label": "^3.1.5",
    "verbb/cp-nav": "^2.0.9",
    "verbb/default-dashboard": "^1.0",
    "verbb/expanded-singles": "^1.0.4",
    "verbb/field-manager": "2.1.0",
    "verbb/icon-picker": "1.0.10",
    "verbb/image-resizer": "2.0.6",
    "verbb/super-table": "2.3.0",
    "vlucas/phpdotenv": "^2.4.0",
    "wbrowar/craft-communicator": "^1.0",
    "wbrowar/guide": "2.1.2",
    "yiisoft/yii2-redis": "^2.0"
  },
  "repositories": {
    "element-map": {
      "type": "path",
      "url": "./plugins/element-map"
    }
  },
  "autoload": {
    "psr-4": {
      "modules\\utilitiesmodule\\": "modules/utilitiesmodule/src/",
      "putyourlightson\\blitz\\drivers\\storage\\": "plugins/blitz-override"
    }
  },
  "config": {
    "optimize-autoloader": true,
    "config": {
      "process-timeout": 0
    },
    "platform": {
      "php": "7.2.5"
    },
    "sort-packages": true
  },
  "scripts": {
    "post-update-cmd": [
      "./craft migrate/all",
      "./craft clear-caches/all"
    ],
    "post-install-cmd": [
      "./craft migrate/all",
      "./craft clear-caches/all"
    ]
  }
}

我试过禁用插件,但似乎没有什么不同。此外,我甚至不确定"'/var/www/craft‘'migrate/all’--no-content'“命令是从哪里来的,因为它似乎与composer.json中的命令略有不同。

当我尝试只运行迁移时:

代码语言:javascript
复制
./craft migrate/all

我得到了下面的堆栈跟踪:

代码语言:javascript
复制
PHP Warning 'yii\base\ErrorException' with message 'array_merge(): Expected parameter 2 to be an array, null given'

in /var/www/vendor/yiisoft/yii2/web/UrlManager.php:222
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError()
#1 /var/www/vendor/yiisoft/yii2/web/UrlManager.php(222): array_merge()
#2 /var/www/vendor/yiisoft/yii2-debug/src/Module.php(290): yii\web\UrlManager->addRules()
#3 /var/www/vendor/yiisoft/yii2/base/Application.php(333): yii\debug\Module->bootstrap()
#4 /var/www/vendor/craftcms/cms/src/console/Application.php(61): yii\base\Application->bootstrap()
#5 /var/www/vendor/yiisoft/yii2/base/Application.php(279): craft\console\Application->bootstrap()
#6 /var/www/vendor/yiisoft/yii2/console/Application.php(125): yii\base\Application->init()
#7 /var/www/vendor/craftcms/cms/src/console/Application.php(47): yii\console\Application->init()
#8 /var/www/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\console\Application->init()
#9 /var/www/vendor/yiisoft/yii2/base/Application.php(212): yii\base\BaseObject->__construct()
#10 /var/www/vendor/yiisoft/yii2/console/Application.php(90): yii\base\Application->__construct()
#11 [internal function]: yii\console\Application->__construct()
#12 /var/www/vendor/yiisoft/yii2/di/Container.php(420): ReflectionClass->newInstanceArgs()
#13 /var/www/vendor/yiisoft/yii2/di/Container.php(171): yii\di\Container->build()
#14 /var/www/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get()
#15 /var/www/vendor/craftcms/cms/bootstrap/bootstrap.php(246): yii\BaseYii::createObject()
#16 /var/www/vendor/craftcms/cms/bootstrap/console.php(51): require('/var/www/vendor...')
#17 /var/www/craft(21): require('/var/www/vendor...')
#18 {main}

这似乎是与UrlManager代码相关的技术缺陷,但如果是这样的话,我不知道为什么其他人似乎没有经历过它(我在搜索中找不到任何关于它的东西)?有没有人对可能出错的地方有什么建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-11 22:28:10

所以我才能弄清楚问题所在。我继承了这个项目,有人将'bootstrap' => ['debug']添加到配置/php.app文件中,以启用Yii调试工具栏。此调试模块对UrlManager对象调用addRules(),手工代码将此对象的规则字段设置为null而不是。当调用addRules()时,array_merge()对空值抛出异常(正如它所期望的那样)。通过删除调试模块,可以完全避免此代码路径。

TLDR;如果在更新到greater 3.5.12.1或更高版本时在UrlManager.php中获得array_merge()异常,请从配置/php.app中删除'debug‘模块。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68745851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档