タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

devとPHPに関するtomo_ariのブックマーク (1)

  • PHPの循環参照ではまった - KAYAC engineers' blog

    symfony+propelで数千回ループするバッチを走らせたところメモリリークしてどうしても途中で処理が終了してしまう。 調べた所、phpのガベコレのシステムで変数を循環参照させてしまうと、変数の参照カウンタが0にならずにメモリを開放してくれないのが原因だった。 propelで one-to-many のリレーションをしているテーブルを扱う場合、 $one_object->addManyObject($many_object); といったメソッドがあるのだがこのメソッドに循環参照するコードが含まれていてメモリリークしていた。数千回ループ回すバッチとかで使用する時は要注意。 public function addManyObject(ManyObject $l) { $this->collManyObjects[] = $l; $l->setOneObject($this); // ここで

    PHPの循環参照ではまった - KAYAC engineers' blog
  • 1