Guzzle
An HTTP client library for PHP that implements the PSR-18 interface and is widely used for HTTP requests across the PHP ecosystem.
Timeline (last 90 days)
When openai-php/client's factory finds Guzzle through the PSR-18 discovery mechanism, it sets no timeout by default.
Guzzle's timeout option only covers the time waiting for response headers and cannot interrupt a long stream that has already started; to detect a stream stalling midway you need to set read_timeout.
openai-php/client uses Guzzle's stream option to make streaming requests, and neither Guzzle 7 nor 8's timeout can intercept a stream that takes longer than the timeout value.
All Facts (3)
When openai-php/client's factory finds Guzzle through the PSR-18 discovery mechanism, it sets no timeout by default.
50%UnverifiedGuzzle's timeout option only covers the time waiting for response headers and cannot interrupt a long stream that has already started; to detect a stream stalling midway you need to set read_timeout.
50%Unverifiedopenai-php/client uses Guzzle's stream option to make streaming requests, and neither Guzzle 7 nor 8's timeout can intercept a stream that takes longer than the timeout value.
50%