Уже в хабе статья на эту тему.
Но с тех пор фреймворк сильно обновился и, к сожалению, разобраться по старой статье, скорее всего, будет проблематично.
Кроме того, самое сложное в изучении чего-то нового — это всегда начало.
Поэтому по свежей памяти попробую хотя бы в общих чертах описать процесс запуска.
Монтаж
По сути, установка описал на Официальный веб-сайт .Я предполагаю, что у вас уже установлен PHP версии 5.3 или выше.
Поэтому описываю только остальное (на примере FreeBSD):
- Установите необходимые библиотеки для PHP из портов:
Это можно сделать отдельно:
- php5-pcntl
# cd /usr/ports/devel/php5-pcntl # make install clean
- php5-шмоп
# cd /usr/ports/devel/php5-shmop # make install clean
- php5-сокеты
# cd /usr/ports/net/php5-sockets # make install clean
# cd /usr/ports/lang/php5-extensions # make config
Установите флажки напротив PCNTL, SHMOP и SOCKETS и установите:# make install clean
При втором подходе вы можете получить ошибку о том, что порт расширений php5 уже установлен.Однако сами библиотеки установятся нормально.
- php5-pcntl
- Установить пекл-эйо :
# cd /usr/ports/devel/pecl-eio # make install clean
- Установить pecl-событие :
# cd /usr/ports/devel/pecl-event # make install clean
- Если git еще не установлен, установите (опции менять не нужно):
# cd /usr/ports/devel/git # make install clean
- Установите phpDaemon, как указано на сайте:
# cd /usr/local # git clone git://github.com/kakserpom/phpdaemon.git # chmod +x phpdaemon/bin/phpd # ln -s /usr/local/phpdaemon/bin/phpd /usr/bin/phpd
Теперь стоит попробовать запустить первое приложение.
Для этого возьмем пример из комплекта — exampleWebSocket. Для этого вам необходимо прописать конфигурацию нашего WebSocket-сервера в файле /usr/local/phpdaemon/conf/phpd.conf
: user www;
group www;
max-workers 8;
min-workers 1;
start-workers 1;
max-idle 0;
Pool:Servers\WebSocket {
enable 1;
listen " tcp://0.0.0.0 ";
listen-port 8047;
privileged;
}
ExampleWebSocket {}
Теперь попробуем запустить наш сервер: # phpd start
Все должно пройти нормально и в логах (/var/log/phpdaemon.log) мы должны увидеть что-то вроде следующего: M#7964 \PHPDaemon\Core\Pool:Servers\WebSocket up.
M#7964 \PHPDaemon\Core\Pool:\PHPDaemon\Servers\WebSocket\Pool up.
W#7966 \PHPDaemon\Examples\ExampleWebSocket up.
Spawning 1 worker(s)
W#7967 \PHPDaemon\Examples\ExampleWebSocket up.
Написание первого приложения
Я хотел бы предложить, помимо идущего в комплекте, еще один пример WebSocket-приложения.Я думаю, что лишний пример никогда не повредит человеку, понимающему что-то новое.
Сразу стоит отметить, что на данный момент официальная документация сильно устарела.
Разработчик обещает исправить это в будущем.
Однако вы всегда можете открыть интересующий класс фреймворка, найти нужный метод и понять, как он работает. Чаще всего это не занимает много времени: код интуитивно понятен.
Так:
- Создайте новый файл в папке PHPDaemon/Applications под названием MyWebSocket.php со следующим кодом:
<Эphp namespace PHPDaemon\Applications; class MyWebSocket extends \PHPDaemon\Core\AppInstance {
-
Хокинг, Стивен Уильям
19 Oct, 24 -
Презентация Vista – Все Не Так Грустно
19 Oct, 24 -
«Никаких Секретов» Или Фрида Для Windows
19 Oct, 24