Make sure you read Issues Guideline and answer these questions before submitting your issue. Thanks!
(Any non-English issues will be closed immediately.)
Please provide your PHP and Swoole version. (php -v and php --ri swoole)
PHP 8.0.30 (cli) (built: Sep 2 2023 08:04:32) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608
Which release version of this package are you using?
2.13.0
What did you do? If possible, provide a recipe for reproducing the error.
'server' => [
'host' => sprintf('/path/to/sockets/sock_%s.sock', \Illuminate\Support\Str::slug(env('APPNAME'), '')),
'port' => 0,
'public_path' => base_path('public'),
// Determine if to use swoole to respond request for static files
'handle_static_files' => env('SWOOLE_HANDLE_STATIC', true),
'access_log' => env('SWOOLE_HTTP_ACCESS_LOG', false),
// You must add --enable-openssl while compiling Swoole
// Put SWOOLE_SOCK_TCP | SWOOLE_SSL if you want to enable SSL
'socket_type' => SWOOLE_UNIX_STREAM,
'process_type' => SWOOLE_PROCESS,
'options' => [
'http_compression' => false,
'upload_tmp_dir' => storage_path('swoole'),
'pid_file' => env('SWOOLE_HTTP_PID_FILE', '/var/www/swoole/swoole_http.pid'),
'log_file' => env('SWOOLE_HTTP_LOG_FILE', '/var/www/swoole/swoole_http.log'),
'daemonize' => env('SWOOLE_HTTP_DAEMONIZE', true),
// Normally this value should be 1~4 times larger according to your cpu cores.
'reactor_num' => swoole_cpu_num() 2,
'worker_num' => swoole_cpu_num() 3,
'task_worker_num' => swoole_cpu_num() 3,
// The data to receive can't be larger than buffer_output_size.
'package_max_length' => 20 1024 1024,
// The data to send can't be larger than buffer_output_size.
'buffer_output_size' => 10 1024 1024,
// Max buffer size for socket connections
'socket_buffer_size' => 128 1024 * 1024,
// Worker will restart after processing this number of requests
'max_request' => 100,
'task_max_request' => 250, #tcp und queue only
'max_conn' => 5000,
// Enable coroutine send
'send_yield' => true,
'enable_coroutine' => true,
'max_coroutine' => 1000, #1000
'task_enable_coroutine' => true,
'task_use_object' => true,
'task_ipc_mode' => 1,
// You must add --enable-openssl while compiling Swoole
'ssl_cert_file' => null,
'ssl_key_file' => null,
'open_http_protocol' => true,
'open_http2_protocol' => true,
0 => DEBUG // all the levels of log will be recorded
Make sure you read Issues Guideline and answer these questions before submitting your issue. Thanks! (Any non-English issues will be closed immediately.)
php -v
andphp --ri swoole
)PHP 8.0.30 (cli) (built: Sep 2 2023 08:04:32) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
swoole
Swoole => enabled Author => Version => 5.0.1 Built => Dec 9 2022 13:13:11 coroutine => enabled with boost asm context epoll => enabled eventfd => enabled signalfd => enabled cpu_affinity => enabled spinlock => enabled rwlock => enabled sockets => enabled openssl => OpenSSL 1.1.1f 31 Mar 2020 dtls => enabled http2 => enabled json => enabled curl-native => enabled pcre => enabled mutex_timedlock => enabled pthread_barrier => enabled futex => enabled mysqlnd => enabled async_redis => enabled
Directive => Local Value => Master Value swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off swoole.display_errors => On => On swoole.use_shortname => On => On swoole.unixsock_buffer_size => 8388608 => 8388608
NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
Laravel Framework 8.83.27
2.13.0
'server' => [ 'host' => sprintf('/path/to/sockets/sock_%s.sock', \Illuminate\Support\Str::slug(env('APPNAME'), '')), 'port' => 0, 'public_path' => base_path('public'), // Determine if to use swoole to respond request for static files 'handle_static_files' => env('SWOOLE_HANDLE_STATIC', true), 'access_log' => env('SWOOLE_HTTP_ACCESS_LOG', false), // You must add --enable-openssl while compiling Swoole // Put
SWOOLE_SOCK_TCP | SWOOLE_SSL
if you want to enable SSL 'socket_type' => SWOOLE_UNIX_STREAM, 'process_type' => SWOOLE_PROCESS, 'options' => [ 'http_compression' => false, 'upload_tmp_dir' => storage_path('swoole'), 'pid_file' => env('SWOOLE_HTTP_PID_FILE', '/var/www/swoole/swoole_http.pid'), 'log_file' => env('SWOOLE_HTTP_LOG_FILE', '/var/www/swoole/swoole_http.log'), 'daemonize' => env('SWOOLE_HTTP_DAEMONIZE', true), // Normally this value should be 1~4 times larger according to your cpu cores. 'reactor_num' => swoole_cpu_num() 2, 'worker_num' => swoole_cpu_num() 3, 'task_worker_num' => swoole_cpu_num() 3, // The data to receive can't be larger than buffer_output_size. 'package_max_length' => 20 1024 1024, // The data to send can't be larger than buffer_output_size. 'buffer_output_size' => 10 1024 1024, // Max buffer size for socket connections 'socket_buffer_size' => 128 1024 * 1024, // Worker will restart after processing this number of requests 'max_request' => 100, 'task_max_request' => 250, #tcp und queue only 'max_conn' => 5000, // Enable coroutine send 'send_yield' => true, 'enable_coroutine' => true, 'max_coroutine' => 1000, #1000 'task_enable_coroutine' => true, 'task_use_object' => true, 'task_ipc_mode' => 1, // You must add --enable-openssl while compiling Swoole 'ssl_cert_file' => null, 'ssl_key_file' => null, 'open_http_protocol' => true, 'open_http2_protocol' => true,0 => DEBUG // all the levels of log will be recorded
i can switch open_tcp_nodelay to false or true... no changes in logs
What did you expect to see? no warnings in log WARNING Socket::cork(): set_tcp_nopush(fd=97, ON) failed, Error: Operation not supported[95]
What did you see instead? i see warnings in logs WARNING Socket::cork(): set_tcp_nopush(fd=97, ON) failed, Error: Operation not supported[95]