Swoole Hook Blocking Function

The SWOOLE_HOOK_BLOCKING_FUNCTION flag will enable coroutine support for blocking PHP functions. Support was added in v4.4.0.

This includes support for:

  • gethostbyname
  • exec
  • shell_exec

Example

<?php

Co::set(['hook_flags' => SWOOLE_HOOK_BLOCKING_FUNCTION]);

Co\run(function () {

    echo shell_exec('ls');

});