PHP Daemon в PHP 5.3 - PullRequest
       36

PHP Daemon в PHP 5.3

2 голосов
/ 30 августа 2011

Несмотря на то, что идея демона PHP была здесь до смерти, я не нашел ничего, конкретно связанного с тем, как это сделать в PHP 5.3. Как мне сказали, в 5.3 введено новое управление сборкой мусора / памятью, чтобы позволить PHP работать более чисто как демон.

Я знаю, что PHP не является первым выбором для такого рода вещей, но в моих обстоятельствах это может быть необходимо.

Я знаю, что в PHP 4 вам придется использовать что-то вроде класса System_Daemon , но мне было интересно, нужно ли это по-прежнему в новой версии PHP, и нужно ли мне это делать? ничего особенного, чтобы использовать новые функции.

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

PHP использует подсчет ссылок для управления выделенной памятью.Когда между объектами существует цикл, их счетчик ссылок никогда не уменьшается и объекты не освобождаются (до конца сценария).

Единственная цель сборщика мусора, добавленного в PHP5.3, - уничтожить этициклы.Это эффективно помогает уменьшить использование памяти долго работающими сценариями, такими как демоны.

Кроме этого, PHP5.3 не добавляет ничего нового для долго работающих скриптов / демонов.в последнее время при создании серверов приложений на PHP вы можете посмотреть на них:

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

1 голос
/ 30 августа 2011

Сборщик мусора - это внутренняя вещь. Это не меняет то, как вы пишете демон. И до PHP 5.3 была более неэффективная форма сборки мусора (освобождение ресурсов), вот и все. http://php.net/manual/en/features.gc.performance-considerations.php

Предполагается, что вы все еще работаете с процессами-демонами, поскольку вместо них нет поддержки потоков. И это неявно заботится об освобождении памяти, так что это практически не имеет значения.

...