Fopen und stream_select funktionieren nach dem PHP 8-Upgrade nichtPhp

PHP-Programmierer chatten hier
Anonymous
 Fopen und stream_select funktionieren nach dem PHP 8-Upgrade nicht

Post by Anonymous »

Ich habe eine PHP 7-Anwendung auf PHP 8 aktualisiert. Der folgende Code funktionierte vorher, aber nicht mehr:

Code: Select all

$options = [
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded\r\n"
. 'Content-Length: ' . strlen($content),
'content' => $content,
'timeout' => 30,
],
];
$context = stream_context_create($options);
$stream = fopen($url, 'r', false, $context);

$read[] = $stream;
$write = null;
$except = null;
$streamsChanged = stream_select($read, $write, $except, 0, 50000);
Jetzt erzeugt der Aufruf von stream_select den folgenden Fehler:

Code: Select all

Type: ValueError
Message: No stream arrays were passed
Ich habe den gleichen POST-Aufruf ohne Probleme mit Insomnia versucht, es scheint also damit zu tun zu haben, wie ich PHP 8 verwende.
Ein var_dump von $stream gibt „resource(stream) zurück, sodass der Typ korrekt zu sein scheint. Ich habe auch Folgendes ausgeführt:

Code: Select all

is_resource($stream)
&& get_resource_type($stream) === 'stream'
&& !feof($stream)
und es hat bestanden.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post