Open erikfrerejean opened 2 months ago
We have just encountered this same issue on an other project running a more traditional docker setup of nginx/php-fpm/mysql. I haven't seen anything weird in that docker configuration and it is a setup we've been running for years.
It is the first project we're building from scratch in php 8.3, however when briefly testing this on a live project running 8.3 and there this problem doesn't arise. We going to test this project locally aswell to see whether this might be a docker/php8.3 related issue might be.
I'm attempting to load the embedding data of a Youtube video but that results in a network exception, without an error message
Tracing this exception back it gets thrown in
\Embed\Http\CurlDispatcher::getResponse
by the checkthis statement is triggered by the fact that
curl_errno($this->curl);
returns the status code23
andcurl_error($this->curl);
returns an empty string. However if I callcurl_strerror(curl_errno($this->curl));
I do get an error message "Failed writing received data to disk/application".Output
Array ( [url] => https://www.youtube.com/watch?v=GFOaWkFP4JE [content_type] => text/html; charset=utf-8 [http_code] => 200 [header_size] => 1737 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 20 [redirect_count] => 0 [total_time] => 1.23017 [namelookup_time] => 0.029307 [connect_time] => 0.048797 [pretransfer_time] => 0.067591 [size_upload] => 0 [size_download] => 219883 [speed_download] => 178741 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => 0 [starttransfer_time] => 0.125468 [redirect_time] => 0 [redirect_url] => [primary_ip] => 172.217.23.206 [certinfo] => Array ( ) [primary_port] => 443 [local_ip] => 172.31.0.4 [local_port] => 46734 [http_version] => 3 [protocol] => 2 [ssl_verifyresult] => 0 [scheme] => HTTPS [appconnect_time_us] => 67454 [connect_time_us] => 48797 [namelookup_time_us] => 29307 [pretransfer_time_us] => 67591 [redirect_time_us] => 0 [starttransfer_time_us] => 125468 [total_time_us] => 1230170 [effective_method] => GET [capath] => /etc/ssl/certs [cainfo] => /etc/ssl/certs/ca-certificates.crt ) array(3) { ["errno"]=> int(23) ["error"]=> string(0) "" ["strerror"]=> string(48) "Failed writing received data to disk/application" }
However when I remove that error check to force the response to be handled then everything looks fine, the response gets parsed correctly and I can create the proper embeds.
Response snippet
Doing the exact same call but using a vimeo video does return the expected result
therefore this seem to be a youtube specific issue.
We are running the default frankenphp docker container with php 8.3
PHP version information
Installed packages