Doctrine 2 ODM — сохранение вложенных встроенных документов работает в среде разработки, но не в производственной среде.

если есть запись, которая выглядит примерно так:

{
    'title'    :'test',
    'subdoc'   :[{
        'title'    : 'sub test',
        'subdoc2'  : [{
            'title'    : 'sub 2 test';
        }]
    }]
}

У меня есть соответствующие сущности, настроенные для доктрины, где subdoc — это EmbedMany корневого документа, а subdoc2 — это EmbedMany поддок.

Он отлично работает в моей среде разработки. В производственной среде он не сохраняет subdoc2. Я могу создать его, добавить в поддокумент и сказать, чтобы он сбрасывался, без ошибок, но он просто не сохраняется.

Вещи, которые я исключил:

  • Это не доктрина: обе среды используют одну и ту же версию доктрины, одни и те же файлы.
  • Это не монго: та же версия драйвера mongo php: 1.2.2 (такая же конфигурация)
  • оба используют apache2 на ubuntu
  • Это не может быть мой код, не так ли? Я имею в виду, что один и тот же код на обеих машинах

Что это может быть:

  • Производство: версия PHP 5.3.5-1ubuntu7.2; Разработчик: PHP версии 5.3.5
  • На самом деле производство — это Zend Server, а разработка — нет. На самом деле я не могу это контролировать, но, может быть, в Zend Server есть какие-то настройки, которые могут вызывать проблемы? Я был бы рад опубликовать определенные настройки, но их много, поэтому я не хочу публиковать их все, если они не нужны.

Я действительно в растерянности! Пожалуйста помоги.


person Fatmuemoo    schedule 28.07.2011    source источник


Ответы (1)


Как оказалось, версия сервера mongodb отличается. Следовали указаниям здесь, и теперь все работает.

person Fatmuemoo    schedule 29.07.2011