我在symfony2中创建了一个自定义控制台命令。此命令将调用api为所有用户查找适合的作业。然后我会得到这样的错误。 我的代码就像:
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
foreach ($user as $user)
{
.....
$em->flush();
}
}
}
然后我想清除每个用户的实体管理员。
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
foreach ($user as $user)
{
.....
$em->flush();
$em->clear();
}
}
}
会导致错误: 然后我尝试使用批处理:
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
$iterableResult = $em->getRepository('EnsUserBundle:User')->findAll()->iterate();
while (($row = $iterableResult->next()) !== false)
{
foreach ($user as $user)
{
.....
$em->flush();
$em->clear();
}
$em->detach($row[0]);
}
}
但它会导致错误
那么,你有什么好建议吗? 谢谢!
答案 0 :(得分:1)
你可以尝试:
增加脚本在php中消耗的最大内存: php.ini
memory_limit = 512M
当物品到达XX物品时(同时:每100件物品)冲洗物品。每次刷新经理都可以清理经理。