在 PROD 模式下会抛出错误,但在 DEV 模式下不会:"Notice: Undefined index" in $form->getConfig()->getAttributes()

An error is thrown in PROD mode but NOT in DEV mode: "Notice: Undefined index" in $form->getConfig()->getAttributes()

运行 我在 Ubuntu 服务器上的 prod 环境中的 symfony3 项目我收到以下错误:

"Notice: Undefined index: data_collector/passed_options",

如果我使用 dev 环境,则不会发生此错误。

在我的自定义 FormType:

中抛出错误
// src/MyBundle/Form/CustomType/MyCustomType.php:
class MyCustomType extends AbstractType {
      public function buildForm(FormBuilderInterface $builder, array $options){
           $builder->addEventListener(FormEvents::POST_SET_DATA, function(FormEvent $event){....}
            $form = $event->getForm();
            $inheritedAttr = $form->getConfig()->getAttributes()['data_collector/passed_options']['attr']; //it crashes there
             ....   
      }

}

我在生产 Ubuntu 服务器 (Like it is explained here) 上编辑了我的 app_dev.php 文件,以便我可以使用此命令在生产中进行测试:

php bin/console server:start [我服务器的IP]:[自定义端口]

但是在 dev 环境中仍然没有抛出错误。所以这不是我的开发机器的问题。

难道$form->getConfig()->getAttributes()prod环境下没有索引?

有什么方法可以调试发生在 prod 环境中但不发生在 dev 环境中的此类错误?

addEventListener 中,在 buildForm 函数中作为参数传递的 $options 应该传递,因为它包含属性:

class MyCustomType extends AbstractType {
      public function buildForm(FormBuilderInterface $builder, array $options){
           $builder->addEventListener(FormEvents::POST_SET_DATA, function(FormEvent $event) use ($options) {....}
            $form = $event->getForm();
            $inheritedAttr = $options['attr'];
             ....   
      }

}