memoryleaks

Doctrine Speicherleaks

Ich muste mittels doctrine einen großen haufen Datensätze (30k) in eine postgres Datenbank schieben, aber doctrine leakte dank php speicher wie blöd.

Eine Mögleichkeit währe es gewesen auf PHP 5.3 zu upgraden, das ist aber in karmik und lenny noch nicht(?) möglich.

Im Symfonyforum wurde dann vorgeschlagen folgenden Code auszuführen:

  1. $obj->save();
  2. $obj->free();
  3. unset($obj);

War jetzt auch nicht so der Knüller, sprich bin relativ schnell gegen das Memorylimit von PHP gerannt.

Zu guter letzt habe ich dann im Doctrine Bugtracker das Ticket #1276 gefunden, in dem das Attribut ATTR_AUTO_FREE_QUERY_OBJECTS beschrieben wird. Angewendet wird das ganze so:

  1. Doctrine_Manager::getInstance()->setAttribute(Doctrine::ATTR_AUTO_FREE_QUERY_OBJECTS, true);

Doctrine tut zwar immer noch leaken, aber lange nicht mehr so krass wie vorher und ich konnte alle meine Datensätze importieren.

Inhalt abgleichen