簡體   English   中英

PHP 5.3中的PHP守護程序

[英]PHP Daemon in PHP 5.3

盡管此處已經涵蓋了PHP守護程序的概念,但我還沒有發現與如何在PHP 5.3中實現此操作特別相關的任何內容。 據我所知,5.3引入了新的垃圾收集/內存管理,以使PHP可以更干凈地作為守護程序運行。

我知道PHP並不是此類事情的第一選擇,但是在我的情況下,它可能必須這樣做。

我知道在PHP 4中,您將不得不使用類似System_Daemon類的類,但是我想知道新版本的PHP是否仍然需要這樣做,並且我還需要做一些特殊的事情才能使用這些新功能。

PHP使用引用計數來管理分配的內存。 當對象之間存在循環時,它們的引用計數永遠不會減少,對象也永遠不會釋放(直到腳本結束)。

PHP5.3中添加的垃圾收集器的唯一目標是消除這些循環。 這有效地有助於減少長時間運行的腳本(如守護程序)的內存使用。

除此之外,PHP5.3對於長時間運行的腳本/守護程序沒有添加任何新內容。

最近在用PHP制作應用服務器方面已經作了一些努力,您可能要看一下它們:

https://github.com/indeyets/appserver-in-php

垃圾收集器是內部的東西。 它不會改變您編寫守護程序的方式。 在PHP 5.3之前,垃圾回收(資源釋放)的效率較低,僅此而已。 http://php.net/manual/en/features.gc.performance-considerations.php

您應該仍然派生守護程序進程,因為沒有線程支持可替代使用。 而且這隱式地負責釋放內存,因此實​​際上並不重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM