- 开关选项
- 支持的选项
- 使用实例
- 关闭协程
开关选项
在4.2版本中,Runtime::enableCoroutine增加了第二个参数,可以设置开关选项,选择要Hook哪些PHP函数。
支持的选项
SWOOLE_HOOK_SLEEP:睡眠函数SWOOLE_HOOK_FILE:文件操作streamSWOOLE_HOOK_TCP:TCP Socket类型的streamSWOOLE_HOOK_UDP:UDP Socket类型的streamSWOOLE_HOOK_UNIX:Unix Stream Socket类型的streamSWOOLE_HOOK_UDG:Unix Dgram Socket类型的streamSWOOLE_HOOK_SSL:SSL Socket类型的streamSWOOLE_HOOK_TLS:TLS Socket类型的streamSWOOLE_HOOK_ALL:打开所有类型
使用实例
Swoole\Runtime::enableCoroutine(true, SWOOLE_HOOK_SLEEP);go(function () {sleep(1);//注意仅 hook 了睡眠函数,下面的文件操作函数会导致阻塞$fp = fopen("test.log", "a+");fwrite($fp, str_repeat('A', 2048);fwrite($fp, str_repeat('B', 2048);fclose();});
关闭协程
调用Runtime::enableCoroutine(false)关闭上一次设置的所有选项协程Hook设置。
注意关闭操作不接受第二个参数,底层会判断上一次打开时设置的选项列表,关闭对应的协程Hook设置。
