Magento 2开发人员模式工作生产模式没有

问题描述 投票:2回答:2

不久前,我别无选择,只能与Magento一起为客户工作,做了一些功课,最后制作了一个自定义的主题包,并学习了一些其他的东西都很好。我在Windows Xampp上安装了我的本地Web服务器上的Magento,但是直接使用PHP等安装在nix盒子上。

作为开发人员模式的标准,一切都很完美,没有任何问题,但一旦我尝试切换到生产模式(从CLI正确),然后它报告操作成功,现在处于生产模式...除非它不,如果我通过“bin / magento deploy:mode:show”查询模式,它报告开发者模式,如果我尝试加载网站的前端或后端,我得到:

致命错误:未捕获错误:在D:\ xampp \ htdocs \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php中调用boolean上的成员函数setActive():27堆栈跟踪:#0 D: \ xampp \ htdocs \ vendor \ magento \ module-backend \ Controller \ Adminhtml \ Dashboard \ Index.php(35):Magento \ Backend \ Model \ View \ Result \ Page-> setActiveMenu('Magento_Backend ...')#1 D:\ xampp \ htdocs \ vendor \ magento \ framework \ App \ Action \ Action.php(107):Magento \ Backend \ Controller \ Adminhtml \ Dashboard \ Index->​​ execute()#2 D:\ xampp \ htdocs \ vendor \ magento \ module-backend \ App \ AbstractAction.php(229):Magento \ Framework \ App \ Action \ Action-> dispatch(Object(Magento \ Framework \ App \ Request \ Http))#3 D:\ xampp \ htdocs \ vendor \ magento \ framework \ App \ FrontController.php(55):Magento \ Backend \ App \ AbstractAction-> dispatch(Object(Magento \ Framework \ App \ Request \ Http))#4 D:\ xampp \ htdocs \ vendor \ magento \ framework \ App \ Http.php(135):Magento \ Framework \ App \ FrontController-> dispatch(对象(Magento \ Framework \ App \ Request \ Http))#5 D:\ xampp \ htdocs \ vendor \ magento \弗拉姆ework \ App \ Bootstrap.php(256):第27行的D:\ xampp \ htdocs \ vendor \ magento \ module-backend \ Model \ View \ Result \ Page.php中的Magento

鉴于目前为止令人头痛的问题,我不敢尝试在现场进行操作。

我尝试过的其他事情包括:

  • 设置生产但跳过重新编译,清除缓存和手动部署内容 - 不起作用
  • “php / bin / magento deploy:mode:set production -s 配置“dev / debug / debug_logging = 0”已保存。启用生产模式。“

..但事实并非如此

我错过了什么? :(每个谷歌搜索产生相同的内存限制答案,但这不适用于此,my.ini / php.ini已经配置为更高的内存限制从我需要它的其他项目。

谢谢你的帮助,一如既往地感谢:)

php
2个回答
0
投票

由于这让我上了墙,我决定看看它是否是我的客户网站的某些模块或安装我不知道影响该过程。

今天我在升级它之前安装了与我的客户端相同的Magento 2.1.9。让作曲家升级到2.2.2并完成只安装我开发的主题包。现在回到2.2.2我尝试从开发人员切换到生产模式的相同过程,得到完全相同的结果,没有正常工作的前/后端只是PHP错误,就像我在上面的原始问题中所做的那样。

由于非常生气,我开始质疑为什么作曲家会告诉我它成功切换到生产,如果它没有(误报)那么也许我一直在尝试的其他操作说失败实际上是工作(假阴性)。

我是对的......

我的“修复”:

1)切换到生产模式(php bin / magento deploy:mode:set production)

2)清理和刷新缓存:php bin / magento缓存:清除php bin / magento缓存:flush

3)再次运行composer install(是的,我知道这没有意义)从magento root run:composer install

它会报告一个错误的否定,即没有任何东西可以安装或更新但是......

现在一切都神奇地起作用,查询magento:

php bin / magento deploy:mode:show

您应该在2.2.2上处于生产模式

如果任何人知道更好的方式,请分享,我发现这是高度迟钝但它的工作原理。


0
投票

删除generated/metadata/global.php文件。它将解决问题。

参考:https://github.com/magento/magento2/issues/13504#issuecomment-380766507

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