This could be a bit of a dog with PHP. PHP is designed (and I use that
word loosely (: ) to work reasonably efficiently in response to a
single web server request and then fall over. PHP can't clean up
circular references, so long-running processes tend to soak up more
and more memory over time if you're using nontrivial libraries like
Doctrine or Propel.

On the other hand, I wrote a MUD chat server in Perl, which has the
same issues with references, and that ran for months without issues
essentially because I tended to use hashes and arrays and array
indexes rather than full-on objects and references. Something similar
is probably possible in PHP... if you keep your Comet code fairly
PHP-4-ish you may be all right. And that might include Doctrine
database access if you use Doctrine's support for simple queries
selecting individual fields rather than fetching full-blown objects.

In theory you can do OOP and references and still avoid circular
references by manually cleaning them up, and Doctrine and Propel do
have methods to try to break the references. I've had mixed
experiences with these.

Memory leaks in general have not been a huge concern for the PHP
developers until recent versions.

The good news is that the forthcoming PHP 5.3 has a garbage collector
that can clean up circular references... now if they can just fix that
bug affecting PHP 5.2.9 and up where source files of size exactly 8192
bytes crash the PHP interpreter... (:

-- 
Tom Boutell
P'unk Avenue
215 755 1330
punkave.com
window.punkave.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to