Php 原则2 ODM—保存嵌套的嵌入式文档在开发环境中有效,但在生产环境中无效

Php 原则2 ODM—保存嵌套的嵌入式文档在开发环境中有效,但在生产环境中无效,php,mongodb,doctrine-orm,zend-server,Php,Mongodb,Doctrine Orm,Zend Server,如果您有类似以下内容的记录: { 'title' :'test', 'subdoc' :[{ 'title' : 'sub test', 'subdoc2' : [{ 'title' : 'sub 2 test'; }] }] } 我为doctrine设置了相应的实体,其中subdoc是根文档的EmbedMany,subdoc2是subdoc的EmbedMany 它在我的开发

如果您有类似以下内容的记录:

{
    'title'    :'test',
    'subdoc'   :[{
        'title'    : 'sub test',
        'subdoc2'  : [{
            'title'    : 'sub 2 test';
        }]
    }]
}
我为doctrine设置了相应的实体,其中subdoc是根文档的EmbedMany,subdoc2是subdoc的EmbedMany

它在我的开发环境中非常有效。在生产环境中,它不保存子文档2。我可以创建它,将它添加到子文档,并告诉它刷新,没有错误,但它只是不保存

我已经排除的事情:

  • 这不是条令:两个环境都使用相同版本的条令,完全相同的文件
  • 它不是mongo:相同版本的mongo php驱动程序:1.2.2(相同配置)
  • 两者都在ubuntu上使用apache2
  • 这不可能是我的密码,对吗?我的意思是两台机器上都有相同的代码
事情可能是:

  • 生产:PHP版本5.3.5-1ubuntu7.2;开发人员:PHP版本5.3.5
  • 生产实际上是Zend服务器,开发不是。我真的无法控制这一点,但也许Zend Server中的某些设置可能会导致问题?我很乐意发布特定的设置,但是有很多设置,所以除非需要,否则我不想发布所有设置

我真是不知所措!请提供帮助。

事实证明,mongodb服务器的版本不同。遵循指示,现在它可以工作了