-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
guzzlehttp在stream=true时,设置超时无效 #5326
Comments
在同步模式下,或者guzzle设置stream=false时,超时配置都正常生效。 |
尝试在 |
这个应该是ini_set的选项吧,设置后有点奇怪,超时时间为12秒,刚好等于socket_timeout + timeout. <?php
use GuzzleHttp\Client;
require 'vendor/autoload.php';
Co::set([
'socket_connect_timeout' => 2,
'socket_timeout' => 4
]);
ini_set('default_socket_timeout', 1);
$http = new Swoole\Http\Server('127.0.0.1', 9501);
$http->set(['hook_flags' => SWOOLE_HOOK_ALL]);
$http->on('request', function ($request, $response) {
$result = [];
$client = new Client([
'timeout' => 8,
'connect_timeout' => 3,
// 'read_timeout' => 3,
'stream' => true
]);
print_r(date("Y-m-d H:i:s")." 准备发起请求\n");
$client->post("https://i.cmd.center:38000");
print_r(date("Y-m-d H:i:s")." 发起请求之后\n");
$response->end(json_encode($result));
});
echo "http start";
$http->start(); |
我晚上看看 |
这个最好看一下防火墙规则,我这边没复现出来 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Please answer these questions before submitting your issue.
使用guzzleHttp请求一个被防火墙拦截的端口:
发起一个请求:
time curl 127.0.0.1:9501
期望:在5秒内返回,代码抛出超时异常。
超时设置并没有生效,超过1分钟才抛出异常。
time curl 127.0.0.1:9501 real 1m5.592s user 0m0.009s sys 0m0.003s
php --ri swoole
)?swoole
Swoole => enabled
Author => Swoole Team [email protected]
Version => 5.1.2
Built => Apr 29 2024 21:13:47
coroutine => enabled with boost asm context
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
sockets => enabled
openssl => OpenSSL 3.0.11 19 Sep 2023
dtls => enabled
http2 => enabled
json => enabled
curl-native => enabled
zlib => 1.2.13
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
mysqlnd => enabled
async_redis => enabled
coroutine_pgsql => enabled
Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_fiber_mock => Off => Off
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608
uname -a
&php -v
&gcc -v
) ?PHP 8.2.15 (cli) (built: Feb 13 2024 06:34:40) (NTS)
Linux 462719e020fd 5.15.0-71-generic examples/client/long_tcp.php 长连接有问题 #78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 x86_64 GNU/Linux
gcc version 12.2.0 (Debian 12.2.0-14)
The text was updated successfully, but these errors were encountered: