1. Go to this page and download the library: Download symplely/uv-ffi library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
symplely / uv-ffi example snippets
$loop = uv_default_loop();
define('DEFAULT_PORT', 7000);
define('DEFAULT_BACKLOG', 128);
$echo_write = function (UV $req, int $status) {
if ($status) {
printf("Write error %s\n", uv_strerror($status));
}
print "Got a connection!\n";
};
$echo_read = function (UVStream $client, int $nRead, string $buf = null) use ($echo_write) {
if ($nRead > 0) {
uv_write($client, $buf, $echo_write);
return;
}
if ($nRead < 0) {
if ($nRead != UV::EOF)
printf("Read error %s\n", uv_err_name($nRead));
uv_close($client);
}
};
$on_new_connection = function (UVStream $server, int $status) use ($echo_read, $loop) {
if ($status < 0) {
printf("New connection error %s\n", uv_strerror($status));
// error!
return;
}
$client = uv_tcp_init($loop);
if (uv_accept($server, $client) == 0) {
uv_read_start($client, $echo_read);
} else {
uv_close($client);
}
};
$server = uv_tcp_init($loop);
$addr = uv_ip4_addr("0.0.0.0", DEFAULT_PORT);
uv_tcp_bind($server, $addr);
$r = uv_listen($server, DEFAULT_BACKLOG, $on_new_connection);
if ($r) {
printf("Listen error %s\n", uv_strerror($r));
return 1;
}
uv_run($loop, UV::RUN_DEFAULT);
ini
extension=ffi
extension=openssl
extension=sockets
zend_extension=opcache
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=1
[ffi]
; FFI API restriction. Possible values:
; "preload" - enabled in CLI scripts and preloaded files (default)
; "false" - always disabled
; "true" - always enabled
ffi.enable="true"
; List of headers files to preload, wildcard patterns allowed. `ffi.preload` has no effect on Windows.
; Replace `your-platform` with: windows, centos7, centos8+, macos, pi, ubuntu18.04, or ubuntu20.04
; This feature is untested, since not enabled for Windows.
;ffi.preload=path/to/vendor/symplely/uv-ffi/headers/uv_your-platform_generated.h
;This feature is untested, since not enabled for Windows.
;opcache.preload==path/to/vendor/symplely/uv-ffi/preload.php
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.