swoole_server::__construct
创建一个swoole server资源对象。
$serv = new swoole_server(string $host, int $port, int $mode = SWOOLE_PROCESS, int $sock_type = SWOOLE_SOCK_TCP);
$serv = swoole_server_create(string $host, int $port, int $mode = SWOOLE_PROCESS, int $sock_type = SWOOLE_SOCK_TCP);
- $host参数用来指定监听的ip地址,如127.0.0.1,或者外网地址,或者0.0.0.0监听全部地址
- IPv4使用 127.0.0.1表示监听本机,0.0.0.0表示监听所有地址
- IPv6使用::1表示监听本机,:: (0:0:0:0:0:0:0:0) 表示监听所有地址
- $port监听的端口,如9501,监听小于1024端口需要root权限,如果此端口被占用server->start时会失败
- $mode运行的模式,swoole提供了3种运行模式,默认为多进程模式
- $sock_type指定socket的类型,支持TCP/UDP、TCP6/UDP6、UnixSock Stream/Dgram 6种
- 使用$sock_type | SWOOLE_SSL可以启用SSL加密。启用SSL后必须配置ssl_key_file和ssl_cert_file
- 1.7.11后增加了对Unix Socket的支持,详细请参见 swoole支持的Socket类型
- 构造函数中的参数与swoole_server::addlistener中是完全相同的
- 高负载的服务器,请务必调整Linux内核参数
- 3种Server运行模式介绍
Swoole1.6版本之后PHP版本去掉了线程模式,原因是php的内存管理器在多线程下容易发生错误
线程模式仅供C++中使用
BASE模式在1.6.4版本之后也可是使用多进程,设置worker_num来启用