workerman在WINDOWS下用命令行启动,有点不方便。想改成WINDOWS服务程序方式运行.
想法如下:
1,下载PHP的扩展:php_win32service.dll
2,在Select.php中修改:
public function loop()
{
$e = null;
while (1)
{
....
}
}
改成:
public function loop()
{
$e = null;
while (1) {
if (WIN32_SERVICE_CONTROL_STOP == win32_get_last_control_message()) {
die("服务已停止!");
}
}
}
不知道可行不?如果可行对性能有影响没?
赞!
性能影响应该不大。你可以写个脚本单独压测下
WIN32_SERVICE_CONTROL_STOP == win32_get_last_control_message()
试下,看每秒能运行多少次。
另外=== 比 == 性能要高一些
查看PHP官方文档:
知道这个while要写到哪里去!Select.php文件在的loop中修改通不过!
版主帮帮写下!
官方的例子:
问题决解了!
写了个空壳的服务程序,在里面直接执行php.exe start.php
停止服务时!KILL掉PHP.EXE的进程。
已稳定运行两周了。
再为不为在WINDOWS平台下要登陆系统在命令行运行的烦恼!
[attach]172[/attach]
赞